Laravel,仅按日期过滤时间戳

问题描述:

我想通过用户标识和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

我知道(在Laravel)的唯一方法,比较了DATEcreated_at是使用whereRaw,所以对于你的榜样,你会使用类似:

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

您可以找到有关雄辩的详细信息和它的其他方法here

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

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