Я хочу получить всех, у кого нулевое поле.
Я попробовал следующее, но ничего не возвращается.
$plato = $this->Platos->find('all',[ 'conditions' => ['alergia_id' => null] ]);
В SQL null не равно (=) ни с чем, даже с другим null. Согласно трехзначным логам c из SQL, результат null = null не верен, но неизвестен. SQL имеет предикат is [not] null для проверки, является ли определенное значение нулевым.
null
(=)
null = null
is [not] null
https://modern-sql.com/feature/is-distinct-from
Это решение.
$plato = $this->Platos->find('all',[ 'conditions' => ['alergia_id IS null'] ]);