CodeLab技術ブログ

プログラミング技術まとめ

[CakePHP3]複数条件の指定方法

今まで、モデルの条件指定は、conditionsパラメータで指定していましたが、cake3からはほとんどのパラメータはメソッドで指定するようになりました。
conditionsはwhereというメソッドに変わりましたが、こんな感じになります。

$query=$this->Users->find('all');
$users = $query->where(['role'=>1])->toArray();

で、roleが[1,2,3]のどれかの場合を指定したい場合は…

$role=[1,2,3];
$users = $query->where(['role'=>$role])->toArray();

と思いきや、これエラーになります。cake2では配列だと自動的にINが追加されたんですが、cake3だと自分でやらないとダメみたいで

$users = $query->where(['role IN'=>$role])->toArray();

という書き方をしないとダメ見たいです。
何でなくしたんだろうか…。

スポンサードリンク

[ad#ad-1]

スポンサードリンク

コメントは受け付けていません。