我试图获取一个表的一些记录,该表有一列“UpdateDate”,默认值为 NULL。我需要检查是否存在“UpdateDate”不是今天或“UpdateDate”为 NULL 的记录。我构建的查询如下:
DB::table('Users')
->where('id', '=', '10')
->where(function($query) {
$query->where('UpdateDate','<>',date("Y-m-d"))->orWhere('UpdateDate','is','NULL'); })
->exists()
Run Code Online (Sandbox Code Playgroud)
它没有按预期工作。我应该如何修改它?谢谢。
小智 5
将您的查询更改为此
DB::table('Users')
->where('id', '=', '10')
->where(function($query) {
$query->where('UpdateDate','<>', date("Y-m-d"))
->orWhereNull('UpdateDate');
})
->exists();
Run Code Online (Sandbox Code Playgroud)
如果您有UpdateDate dateas数据类型。
如果您有timestamp或datetime作为数据类型,则更改为此
DB::table('Users')
->where('id', '=', '10')
->where(function($query) {
$query->whereBetween('UpdateDate',[date("Y-m-d 00:00:00"), date("Y-m-d 23:59:59")])
->orWhereNull('UpdateDate');
})
->exists();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3287 次 |
| 最近记录: |