0

我试图将此直接更新查询转换为蛋糕的更新方式。

$this->Test->query("UPDATE tests SET rating=3 WHERE goal_id=1 AND employee_id=28");

通常当我们更新时,我们设置 id 然后保存,对吗?

$this->id = 1;
$this->Test->save($data);

但是这里我利用 (goal_id+employee_id) 的组合来识别行。那么我该如何更新呢?

4

1 回答 1

0

您可以使用updateAll(),您只是碰巧更新了 1 条记录,而不是方法名称所暗示的许多记录。

Model::updateAll(array $fields, array $conditions)

因此,对于您的测试,您将使用:

$this->Test->updateAll(
    array('rating' => 3),
    array('goal_id' => 1, 'employee_id' => 28)
);
于 2012-08-19T15:46:21.910 回答