问题
I am using Laravel 5.5, I need to form a query where only date part of a datetime column should be matched, equivalent of date(date_col)='2018-01-01'
kind of thing. How do I achieve this in Eloquent way? WhereDate()
returns date part but is there some way to merge both?
Thanks
回答1:
For merging whereDate and between you can use something like this:
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'
回答2:
You can use Carbon:
$q->whereDate('date_col', '=', Carbon::parse($date)->toDateString());
whereDate
should work too, pass in the value as the 2nd parameter
->whereDate('date_col', '2018-02-06')
来源:https://stackoverflow.com/questions/48657338/laravel-eloquent-how-to-use-wheredate-with-between