如何使用查询构建在 Laravel 中执行 WHERE NOT
Posted
技术标签:
【中文标题】如何使用查询构建在 Laravel 中执行 WHERE NOT【英文标题】:How to perform a WHERE NOT in Laravel with query build 【发布时间】:2013-10-09 16:25:56 【问题描述】:Laravel 查询构建有许多 where 选项,但我找不到描述字段类型 timestamp
的方法,这些字段类型不为空,但具有无效值。例如:0000-00-00 00:00:00
whereNull()
不起作用,因为它是 not null
whereNot()
被视为无效字段not
我想使用原生 mysql 查询 NOT field
,因为它匹配“空”值,例如 0000-00-00 00:00:00
【问题讨论】:
您要检查那些 0000-00-00 00:00:00 的记录吗? 【参考方案1】:然后,您必须使用IS NULL
选项来查询它。检查前任:
SELECT * FROM `tablename` WHERE `columnname` IS NULL LIMIT 0 , 30
看看以下是否有帮助
$table->date('colname')->nullable();
$table->date('colname')->notnullable();
【讨论】:
很好,但我希望它使用 Laravel 框架的原生查询构建器。而IS NULL
与0000-00-00 00:00:00
不匹配
这个 notNullable() 或 nullable() 怎么样。哪个对你可行!
如 $table->date('colname')->nullable();
'is null' 检查这个“0000-00-00 00:00:00”并返回相同
然后,试试这个本身并不理想,虽然 SELECT * FROM tn
WHERE colname
= '0000-00-00 00:00:00' OR SELECT * FROM tn
WHERE @ 987654329@ '0000-00-00 00:00:00'以上是关于如何使用查询构建在 Laravel 中执行 WHERE NOT的主要内容,如果未能解决你的问题,请参考以下文章
在执行查询之前,如何从 Laravel 的查询构建器中获取原始查询字符串?
如何在执行查询之前从Laravel的查询生成器获取原始查询字符串?