【发布时间】:2018-12-16 10:11:55
【问题描述】:
选择 COUNT(*) 作为计数,MONTH(begin_date)
从`事件`
WHERE (YEAR(begin_date) = YEAR(CURDATE()))
或 (YEAR(begin_date) = YEAR(CURDATE()) + 1)
按月分组(开始日期)
这里是sql查询,我想用laravel eloquent写一下。
我尝试了什么:
$oncoming_events = DB::table('events') ->select(DB::raw('count(*) as numOfOncomingEvents, MONTH(begin_date)')) ->where('YEAR(begin_date)', '=', 'YEAR(CURDATE())') ->orWhere('YEAR(begin_date)', '=', 'YEAR(CURDATE()) +1') ->groupBy('MONTH(begin_date)')->get();错误:
SQLSTATE[42S22]: 未找到列: 1054 'where 子句'中的未知列'YEAR(begin_date)' (SQL: select count(*) as numOfOncomingEvents, MONTH(begin_date) from
eventswhereYEAR(begin_date)=
laravel 5.6
顺便说一句 sql查询有效..
【问题讨论】:
-
你可以使用
whereYear('begin_date', date('Y')) -
什么是日期('Y')?
-
返回当前年份