[CakePHP] find(all)でIN句を使ってデータを抽出する方法

CakePHPで複数のIDを指定して該当するデータを取得する方法についてです。

MySQLでは1つのカラムに対して複数の条件で検索するIN句が用意されており、CakePHPでもこのIN句を使います。

まずはMySQLのIN句の使い方を確認します。

MySQLのIN句の書式
SELECT * FROM posts WHERE id IN(1,3,5,7);

idを複数の値で検索するには WHERE句で id IN(1,3,5,7) と指定します。

CakePHPでも同様の方法でIN句を使います。

具体的な使い方は下記のようになります。

IN句の使い方

条件のパラメータ部分に配列化されたデータを指定します。

これだけで、IDが 1,2,3,5,7,9 のデータが取得できます。楽ですね!

NOT IN句

IN句の逆を行うNOT IN句というのも用意されており、こちらは指定した条件にあてはまらないものを抽出します。

これでPostモデルのIDが 1,2,3,5,7,9 に当てはまらないデータが抽出されます。



Author: webmaster