lithium\data\Entity::increment()
Safely (atomically) increments the value of the specified field by an arbitrary value.
Defaults to 1 if no value is specified. Throws an exception if the specified field is
non-numeric.
Parameters
-
string
$fieldThe name of the field to be incremented.
-
integer|string
$valueThe value to increment the field by. Defaults to
1if this parameter is not specified.
Returns
integerReturns the current value of $field, based on the value retrieved from the
data source when the entity was loaded, plus any increments applied. Note that it may
not reflect the most current value in the persistent backend data source.
Source
public function increment($field, $value = 1) {
if (!isset($this->_updated[$field])) {
$this->_updated[$field] = 0;
} elseif (!is_numeric($this->_updated[$field])) {
throw new UnexpectedValueException("Field `'{$field}'` cannot be incremented.");
}
if (!isset($this->_increment[$field])) {
$this->_increment[$field] = 0;
}
$this->_increment[$field] += $value;
return $this->_updated[$field] += $value;
}