我正在开发CakePHP中的一个项目。
当我们想要更新数据库中的记录时,我们通常会这样做:
$save_arr = array('field1'=>'value1');
$this->MyModel->id = $id;
$this->MyModel->save($save_arr);
我处于一种情况,我正在用Ajax更新一些数据,我只传递字段名称(field1),它的新值(value1)和另一个在我的表中唯一的字段的值(比如'myUniqueField) '有价值12)。 我不会在这里获得“id”字段的值。
如何使用此非id字段更新我的记录,该字段将是唯一的。
请帮帮我。
由于
答案 0 :(得分:3)
您可以使用updateAll()
方法:
$this->Model->updateAll(
array('Model.field1' => "'value1'"), // Watch out! Manual escaping here!
array('Model.MyUniqueField' => 12)
);