Page::saveOrDeleteIf($field)

Version 3.8

Save data or delete it from database.

Save data only if given field has a valid value according to Field::hasValue() -method.

If page exists and value is empty, delta page.

Arguments

$field
String: Field name for field->hasValue() -check.
Bool: Save if true, delete if false.

Full documentation

Save page, if amount has a value.

$this->get('page','order',$orderId)
  ->setValue('amount'  ,$amount)
  ->saveOrDeleteIf('amount');

This is shorthand for:

$Order = $this->get('page','order',$orderId)
  ->setValue('amount'  ,$amount);

if ( $Order->amount->isGiven() ){
    $Order->save();
}
else if ( $Order->getId() ){
    $Order->delete();
}