在 CakePHP 2.3 项目中,在一个控制器操作中,我想更新一个表的几条记录。要更新的数据作为数组发布,我遍历该数组。
但是,一些新的字段值与当前字段值相关,因此我不能简单地将数据写入数组 $data 并执行 model-save($data)。相反,我做
$record = model->read(null, $id); //$id is retrieved from the posted data array.
$record['some_field'] = $new_value;
unset($record['modified']);
//in addition I used model->modified = null;, but to no avail
model->save($record);
问题是,修改的字段不会自动更新。在 CakePHP 文档中,我发现“Modified”的值不能出现在要保存的数据中。但仅 unset() 似乎还不够。
在cakePHP - modified field not updated user tadasZ 中提到,当您提前使用 model->read() 时它不起作用。
我在文档中找不到任何关于它的信息。但如果是这样的话,有没有办法将 Automagic 用于修改的字段?我可以设置字段值 myswlf (事实上,现在这就是我作为解决方法所做的),但如果有自动方式,我想使用它。