2

我有一个像这样的查询:

Update `pools` set status='2' where `pid`='1' and `uid`='2'

如何在 cakephp 中转换此查询?即,我想在查询中传递 AND 条件,该条件应该更新包含 pid='1' 和 uid='2' 的行。

4

2 回答 2

5

UPDATEALL是你所需要的全部。

$this->Pool->updateAll(array('status'=>2), array('Pool.pid'=>1,'Pool.uid' => 2));

更多文档。

http://book.cakephp.org/2.0/en/models/saving-your-data.html#model-updateall-array-fields-array-conditions

如果您已经拥有要更新的行的 id,那么无需使用 update cakephp 就可以非常聪明地理解它。

例如。

如果你有Pool.id那一行记录。

$this->data['Pool']['id'] = $pool_id;
$this->data['Pool']['uid'] = $pool_uid;
$this->data['Pool']['other_data'] = $pool_otherData;
$this->Pool->save($this->data['Pool']);

上面会自动保存 $pool_id 行。

于 2013-01-25T05:15:17.450 回答
0

我想这可能有用......试试......

$this->Pool->updateAll(array('status'=>2), array('AND' => array('Pool.pid'=>1,'Pool.uid' => 2)));
于 2013-01-25T05:23:35.223 回答