我的表中有一個expiry_date(type=date)列
$currentDate = date('Y-m-d') 。
$Data = Post:: whereDate('expiry_date','<=',$currentDate)-> where(['status' => 'active'])->或Where(['p_id' => 3])-> select('id','title','status','p_id','expiry_date') -> orderBy('id', 'desc')->get()。
我想過濾資料,如果當前日期大于到期日期,那么這些記錄不應該被顯示出來,但在我的情況下,我仍然得到記錄。
任何解決方案 謝謝。
uj5u.com熱心網友回復:
你必須將orWhere子句在closure中分組。閉包中的分組就像實際查詢中的()。
$Data = Post:: whereDate('expiry_date','<=',$currentDate)
->where(function($query){
return $query>
->where(['status' => 'active'] )
->orWhere(['p_id' => 3] )。
})
->select('id','title','status','p_id', 'expiry_date')
->orderBy('id', 'desc')
->get()。
但是,因為我不知道你的專案--我可能在分組上出了問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/320618.html
標籤:
下一篇:laravel中間件中的終止方法
