cakephp使用非id唯一字段更新记录

时间:2011-05-04 13:29:46

标签: cakephp

我正在开发CakePHP中的一个项目。

当我们想要更新数据库中的记录时,我们通常会这样做:

$save_arr = array('field1'=>'value1');
$this->MyModel->id = $id;
$this->MyModel->save($save_arr);

我处于一种情况,我正在用Ajax更新一些数据,我只传递字段名称(field1),它的新值(value1)和另一个在我的表中唯一的字段的值(比如'myUniqueField) '有价值12)。 我不会在这里获得“id”字段的值。

如何使用此非id字段更新我的记录,该字段将是唯一的。

请帮帮我。

由于

1 个答案:

答案 0 :(得分:3)

您可以使用updateAll()方法:

$this->Model->updateAll(
    array('Model.field1' => "'value1'"), // Watch out! Manual escaping here!
    array('Model.MyUniqueField' => 12)
);