Extends
lithium\core\Object
Gets the array of fields modified on this entity.
Returns
array Returns an array where the keys are entity field names, and the values are `true` for changed fields.Source
public function modified() {
$fields = array_fill_keys(array_keys($this->_data), false);
foreach ($this->_updated as $field => $value) {
if (is_object($value) && method_exists($value, 'modified')) {
if (!isset($this->_data[$field])) {
$fields[$field] = true;
continue;
}
$modified = $value->modified();
$fields[$field] = $modified === true || is_array($modified) && in_array(true, $modified, true);
} else {
$fields[$field] = !isset($fields[$field]) || $this->_data[$field] !== $this->_updated[$field];
}
}
return $fields;
}