Laravel datetime created_at

问题描述 投票:0回答:3

我有个问题。如果我的数据库中的created_at是datetime,我想进行这样的查询

whereDate('created_at', '=', date('Y-m-d'))

我没有得到任何结果。我该如何处理这种情况?

另一个案例:我想要

 whereDate('created_at', '=', date('M'))
php laravel
3个回答
0
投票

您可以使用其他辅助函数:

$query->whereYear('created_at', '=', date('Y'))
      ->whereMonth('created_at', '=', date('m'))
      ->whereDay('created_at', '=', date('d'));

0
投票

假设您正在使用MySQL,您可以使用whereRaw

whereRaw('created_at = CURDATE()')

对于你的第二个案例:

whereRaw("month_name = DATE_FORMAT(CURDATE(), '%b')")

0
投票

第一个查询:您可以使用Carbon指定日期格式(没有时间的日期toDateString() /日期与时间toDateTimeString())。

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

第二个查询:只需查询whereMonth

$query->whereMonth('created_at', '=', date('m'));
© www.soinside.com 2019 - 2024. All rights reserved.