cakephpでモデルの検索条件(ORの指定方法)


只野開発者です。

 

cakephpの検索条件についてです。

たとえばユーザーテーブルに、都道府県を持っているとします。

 

都道府県を検索条件に検索結果を取得するときです。

・検索条件が1つのみ

東京都で登録されているユーザーを取得するときです。

$data = $this->User->find(‘all’, array(
    ‘conditions’ =>array( ‘User.都道府県’ => ‘東京都’),
    ‘fields’ => array( ‘user.*’)
));

・検索条件が複数でOR条件のとき

東京都または神奈川県のOR条件で取得したいときはこのように書きます。

$data = $this->User->find('all', array(
     'conditions' => array(OR=>array( 'User.都道府県' => '東京都', 'User.都道府県' => '神奈川県')),
     'fields' => array( 'user.*')
));

ミソは連想配列のキーに「OR」を指定し、値に条件を配列で渡すことです。

 

これで、複雑な検索条件も直接SQLを書かずに、cakephpの連想配列による設定でSQLが発行できます。


投稿日: 2014年10月20日
カテゴリー: cakephp | 投稿者: