我很高兴CakePHP的清理功能允许使用保存/设置模型功能安全插入。我目前需要保存现有模型数据的增量,并且无法确定所需的过程。
目前我的模型代码如下:
$this->save(array('Model.field', 'Model.field + 1'));
但是我注意到,正如预期的那样,这不会起作用,因为整个字符串都被转义,而不是相关字段的整数增量。非常感谢任何帮助。
我知道解决方法是首先查询有问题的行,然后在PHP中增加值,但我更愿意使用单独的MySQL /查询解决方案。
答案 0 :(得分:2)
使用Model :: updateAll()。您可以在手册中找到示例。
答案 1 :(得分:1)
我这样做:
$this->id = 1;
$data = $this->read();
$this->saveField('field_name', $data['Model']['field_name'] + 1);
或者,您可以使用query();
$this->query('UPDATE Model.field_name = Model.field_name + 1 WHERE Model.id=1');