我有个问题。如果我的数据库中的created_at是datetime,我想进行这样的查询
whereDate('created_at', '=', date('Y-m-d'))
我没有得到任何结果。我该如何处理这种情况?
另一个案例:我想要
whereDate('created_at', '=', date('M'))
您可以使用其他辅助函数:
$query->whereYear('created_at', '=', date('Y'))
->whereMonth('created_at', '=', date('m'))
->whereDay('created_at', '=', date('d'));
假设您正在使用MySQL,您可以使用whereRaw
:
whereRaw('created_at = CURDATE()')
对于你的第二个案例:
whereRaw("month_name = DATE_FORMAT(CURDATE(), '%b')")
第一个查询:您可以使用Carbon
指定日期格式(没有时间的日期toDateString()
/日期与时间toDateTimeString()
)。
$query->whereDate('created_at', '=', Carbon::today()->toDateTimeString());
第二个查询:只需查询whereMonth
$query->whereMonth('created_at', '=', date('m'));