Метод beforeSave должен только возвращать либо true
, либо false
, чтобы сообщить функции сохранения, если она может продолжаться, поэтому вы можете поместить туда только логику, но не влиять на сами данные.
Для измененияданные, просто (пере) установите их в функции контроллера перед вызовом функции сохранения, например:
foreach($this->data['Presence'] as $key => $data) {
if(is_array($key)) {
// This should be a sub-array
$this->data['Presence'][$key]['day'] = 1; // Set your 'new' day here
$this->data['Presence'][$key]['user_id'] = 1337; // Set your user id here
}
}
// Then, afterwards, save the adjusted data array
$this->Presence->save($this->data);