Laravel,仅按日期过滤时间戳
问题描述:
我想通过用户标识和created_at字段过滤表。唯一的事情是created_at是一个时间戳,我只想按日期查询而不是时间。Laravel,仅按日期过滤时间戳
因此,像 -
$messages = Message::where(['from' => $fromUser->id, 'created_at' => 'TODAY'S DATE'])->get();
答
我知道(在Laravel)的唯一方法,比较了DATE
对created_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());
您可以使用DATE(created_at)原始的方法和环绕created_at只是比较日期部分 – LokiSinclair
原始的方法呢?你有一个例子吗? – colouredFunk
看到我的答案为例:)希望它有帮助! – LokiSinclair