WHERE foo <> 1 AND foo <> 2 ……(a)CakePHP2のfind()メソッドを使用するとき、こんな感じで条件を書いて
$conditions = array('foo <> ' => 1, 'foo <> ' => 2);どうも思った結果が取れない???
生成されたSQLを確認すると、
WHERE foo <> 2となっています。
どうやら同じフィールドを指定するのはうまくいかないみたいです。
で、以下のようにしてみました。
$conditions = array('foo NOT ' => (1, 2));こうすると IN句を生成します。こんなふうに、
WHERE NOT IN (1, 2) ……(b)これで思った結果が取得できました。
先に(a)を思い浮かべてしまうのがダメだったみたいですね(^^;
0 件のコメント:
コメントを投稿