beforeSave
вызывается автоматически Cake перед сохранением данных. В нем вы можете делать все, что хотите, перед каждым сохранением. Обычно это означает изменение $this->data
, то есть данных, которые должны быть сохранены.
Методу передается один параметр: массив вида array('validate' => true/false, ('fieldList' => array(...))
. Это соответствует двум дополнительным параметрам, которые вы можете указать для save()
:
$this->Model->save($this->data, false, array('foo', 'bar'));
В этом случае массив будет выглядеть как
array('validate' => false, 'fieldList' => array('foo', 'bar'))
.
Вы можете принять этот массив, указав аргумент:
public function beforeSave($options) { ... }
$options
будет выглядеть, как описано выше. Вы можете использовать эту информацию любым способом.
Если вы не наберете return true
из beforeSave
, операция сохранения будет полностью отменена.
Вот и все.