laravel查询中的错误查询表示(Wrong query representation in laravel query)
我有这个代码来获取当年的事件:
$year = "YEAR('".date('Y/m/d')."')"; $event = Event::where('date_start', $year); var_dump($event->toSql());但代码的查询表示如下:
"select * from `events` where `date_start` = ? and `events`.`deleted_at` is null"这是为什么? 我的错误在哪里?
I have this code to get events which is in current year:
$year = "YEAR('".date('Y/m/d')."')"; $event = Event::where('date_start', $year); var_dump($event->toSql());But the query representation of the code is as follows:
"select * from `events` where `date_start` = ? and `events`.`deleted_at` is null"Why is that? Where my mistake?
最满意答案
如果要在MySQL的datetime类型字段中获取具有特定年份的记录,可以使用whereYear()的whereYear() :
$year = 2017; $event = Event::whereYear('date_start', '=', $year)->get();或者显然是$year = date("Y")如果你想要当年的活动!
If you want to get the records with specific year in a datetime type field of MySQL, you can use Eloquent's whereYear():
$year = 2017; $event = Event::whereYear('date_start', '=', $year)->get();Or obviously $year = date("Y") if you want events from current year!
更多推荐
发布评论