首页 > 解决方案 > Laravel WHERE 对 NULL 列的查询不起作用。漏洞?

问题描述

如果模型表有一个带有null值的列,我们不能使用where子句来查询它。

例如,

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

两者都返回一个空集合,即使有明确的状态记录null

Laravel 版本:6.17.1

任何解决方法?

标签: mysqllaravel

解决方案


根据Laravel 文档

whereNull / whereNotNull / orWhereNull / orWhereNotNull

whereNull方法验证给定列的值为 NULL:

您可以使用whereNull检查列中的空值

Model::whereNull("status");

推荐阅读