Laravel Eloquent: 如何在Between中使用whereDate?

Laravel Eloquent: How to use whereDate with Between?

我正在使用 Laravel 5.5,我需要形成一个查询,其中只应匹配日期时间列的日期部分,相当于 date(date_col)='2018-01-01' 之类的东西。如何以 Eloquent 方式实现此目的? WhereDate() returns 日期部分但是有什么方法可以合并两者吗?

谢谢

您可以使用 Carbon:

$q->whereDate('date_col', '=', Carbon::parse($date)->toDateString());

whereDate 应该也可以,将值作为第二个参数传入

->whereDate('date_col', '2018-02-06')

要合并 whereDate 和 between 你可以使用这样的东西:

User::whereBetween(DB::raw('DATE(created_at)'), array($from_date, $to_date))->get();

sql :

select * from `users` where DATE(created_at) between '2018-02-01' and '2018-02-06'