LoginSignup
15
16

More than 5 years have passed since last update.

CakePHPのUPDATE文で、WHERE句の指定の仕方

Last updated at Posted at 2014-03-16

完全に初心者向けです。すみません。。。

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でいいともいます。

何かあれば教えて下さい。
ペーペーのエンジニアなので。。。

15
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
16