完全に初心者向けです。すみません。。。
##CakePHPのUPDATE文で、WHERE句の指定の仕方
UPDATE `table` AS `T` SET `T`.`column` = 'hogehoge' WHERE `T`.`user_id` = xxx;
ってしたかったんですよ。
でも、肝心のCakePHPのドキュメント(jp)と(en)を見るとよくわからん。
一緒にsql文も書いてくれればいいのに。。
少しググっても出なかったので、簡単に。
$data = array(
'T.column' => 'hogehoge',
'T.modified' => "'" . date("Y-m-d H:i:s") . "'",
);
$conditions = array(
'T.user_id' => 'xxx',
);
$this->Model->updateAll($data, $conditions);
これで、update文でwhere句を指定できます。
where句の条件を第二引数に指定するってことか。。
※以下注意点
- $data に配列で入れるときは、第二階層(array(array()))にするとうまくCakephpが認識してくれないです。
Model.column
とdotでつなぎましょう。 - なぜか、modifiedのfieldsが更新されなかったです。だから上記のphpで書いてます。
- 逆にmodifiedに更新してほしくなかったら、modified = falseでいいともいます。
何かあれば教えて下さい。
ペーペーのエンジニアなので。。。