2016-05-12 28 views
0

我试图获取表的一些记录,其中有一个列'UpdateDate'与默认值NULL。我需要检查是否存在“UpdateDate”不是今天或“UpdateDate”为空的记录。我建立的查询如下:Laravel - 默认空日期的数据库查询

DB::table('Users') 
->where('id', '=', '10') 
->where(function($query) { 
    $query->where('UpdateDate','<>',date("Y-m-d"))->orWhere('UpdateDate','is','NULL'); }) 
->exists() 

它没有按预期工作。我应该如何修改它?谢谢。

回答

1

更改您查询到这个

DB::table('Users') 
->where('id', '=', '10') 
->where(function($query) { 
    $query->where('UpdateDate','<>', date("Y-m-d")) 
    ->orWhereNull('UpdateDate'); 
}) 
->exists(); 

如果你有UpdateDatedate数据类型

如果你有timestampdatetime数据类型然后改变这个

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(); 
+0

感谢您的帮助!有用! –