2

私は次のようなクエリを持っています:

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

このクエリをcakephpで変換するにはどうすればよいですか?つまり、pid='1'とuid='2'を含む行を更新するクエリでそのAND条件を渡したいと思います。

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がすでにある場合は、updatecakephpを使用する必要はありません。それを理解するには非常に賢い方法です。

例えば。

あなたが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 に答える