CakePHPのfindの条件で「IN」「NOT IN」演算子を使う方法
2015/01/11
タイトルにある通り、CakePHPのfindの条件に「IN」や「NOT IN」演算子を使う方法です。
Userモデルを使う場合と仮定します。
INの場合
1 2 3 4 5 6 7 |
$this->User->find( 'all', array( 'conditions' => array( 'User.customer_id' => array(1, 2, 3, 4, 5) ) ) ); |
NOT INの場合
1 2 3 4 5 6 7 8 9 |
$this->User->find('all', array( 'conditions' => array( 'NOT' => array( 'User.customer_id' => array(1, 2, 3, 4, 5) ) ) ) ); |
並列の条件がある場合は、以下のように、配列のkeyに"AND"や"OR"を設定します。
1 2 3 4 5 6 7 8 9 10 11 12 |
$this->User->find('all', array( 'conditions' => array( 'gender =' => '1', 'AND' => array( 'NOT' => array( 'User.customer_id' => array(1, 2, 3, 4, 5) ) ) ) ) ); |