CakePHP2 で find の検索条件(conditions)を使用する場合、以下のように書くと思います。
$query = $users->find('all', [
'conditions' => [
'country' => 'Japan',
],
]);
この条件を否定で書くには、
$query = $users->find('all', [
'conditions' => [
'NOT' => [
'country' => 'Japan',
],
],
]);
とすると思いますが、以下のようにも書けます。
$query = $users->find('all', [
'conditions' => [
'country !=' => 'Japan',
],
]);
否定演算子の !=
を使いますが、これは <>
でも動きます。
DB的にはどちらを使ってもいいと思うのですが、Cookbookには !=
で書かれています。
また、CakePHP2 の Model.php にも !=
が使われている箇所があります。
Model.phpの_findNeighbors()
$query['conditions'][$field . ' !='] = $value;
Model.phpのisUnique()
$fields[$this->alias . '.' . $this->primaryKey . ' !='] = $this->id;
プロジェクトのコーディング規約で決まっていない場合、 !=
を使うのがよいと思います。