Laravel ГДЕ запрос к столбцу NULL не работает. Ошибка? - PullRequest
0 голосов
/ 03 марта 2020

Если в таблице модели есть столбец со значением null, мы не можем запросить его с помощью предложений where.

Например,

Model::where('status', '!=', 'something');
Model::whereNotIn('status', ['something']);

Оба возвращают пустую коллекцию, даже если есть явные записи со статусом null

Laravel версия: 6.17.1

Есть ли обходные пути?

Ответы [ 2 ]

0 голосов
/ 03 марта 2020
Model::whereNull('status')
->orWhere('status', 'something')
->get();

, которая будет извлекать записи, в которых статус столбца равен либо null, либо статус равен something

0 голосов
/ 03 марта 2020

Согласно Laravel Документация

whereNull / whereNotNull / orWhereNull / orWhereNotNull

Метод whereNull проверяет, что значение данного столбца равно NULL:

Вы можете использовать whereNull для проверки нулевых значений в столбце

Model::whereNull("status");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...