我有一个疑问是:

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

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

最佳答案

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\u id行。

关于php - 在cakephp中使用多个条件更新查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14515740/

10-16 09:33