2015-10-20 156 views
3

我想通過用戶標識和created_at字段過濾表。唯一的事情是created_at是一個時間戳,我只想按日期查詢而不是時間。Laravel,僅按日期過濾時間戳

因此,像 -

$messages = Message::where(['from' => $fromUser->id, 'created_at' => 'TODAY'S DATE'])->get(); 
+0

您可以使用DATE(created_at)原始的方法和環繞created_at只是比較日期部分 – LokiSinclair

+0

原始的方法呢?你有一個例子嗎? – colouredFunk

+0

看到我的答案爲例:)希望它有幫助! – LokiSinclair

回答

1

我知道(在Laravel)的唯一方法,比較了DATEcreated_at是使用whereRaw,所以對於你的榜樣,你會使用類似:

Message::where(...)->whereRaw('DATE(created_at) = ?', [$today])->get(); 

您可以找到有關雄辯的詳細信息和它的其他方法here

1
$query->whereDate('created_at', '=', date('Y-m-d')); 

$query->whereDate('created_at', '=', Carbon::today()->toDateString());