Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php laravel中的年份(开始日期)未知列 选择计数(*)作为计数,月份(开始日期) 从`事件` 其中(年(开始日期)=年(CURDATE()) 或(年(开始日期)=年(当前日期())+1) 按月分组(开始日期)_Php_Laravel - Fatal编程技术网

Php laravel中的年份(开始日期)未知列 选择计数(*)作为计数,月份(开始日期) 从`事件` 其中(年(开始日期)=年(CURDATE()) 或(年(开始日期)=年(当前日期())+1) 按月分组(开始日期)

Php laravel中的年份(开始日期)未知列 选择计数(*)作为计数,月份(开始日期) 从`事件` 其中(年(开始日期)=年(CURDATE()) 或(年(开始日期)=年(当前日期())+1) 按月分组(开始日期),php,laravel,Php,Laravel,这是sql查询,我想用laravel雄辩地编写它 我尝试的是: SELECT COUNT(*) as count, MONTH(begin_date) FROM `events` WHERE (YEAR(begin_date) = YEAR(CURDATE())) OR (YEAR(begin_date) = YEAR(CURDATE()) + 1) GROUP BY MONTH(begin_date) $oncoming_events=DB::table('events'))

这是sql查询,我想用laravel雄辩地编写它

我尝试的是:

SELECT COUNT(*) as count, MONTH(begin_date) FROM `events` WHERE (YEAR(begin_date) = YEAR(CURDATE())) OR (YEAR(begin_date) = YEAR(CURDATE()) + 1) GROUP BY MONTH(begin_date) $oncoming_events=DB::table('events')) ->选择(DB::raw('count(*)作为numfoncomingevents,MONTH(begin_date)')) ->其中('YEAR(begin_date)'、'YEAR(CURDATE())') ->或其中('YEAR(begin_date)'、'YEAR(CURDATE())+1') ->groupBy('MONTH(begin_date)->get(); 错误:

SQLSTATE[42S22]:未找到列:在where子句中1054未知列“年(开始日期)”(SQL:选择count(*)作为numofonomingevents,从
事件开始的月(开始日期)
其中
年(开始日期)
=

拉威尔5.6

顺便说一句
sql查询工作..

您需要在where中使用
DB::raw()
告诉查询生成器它不是列名,而是查询中的数据操作


$onomming_events=DB::table('events')->选择(DB::raw('count(*)作为numofonomming events,MONTH(begin_date))->其中(DB::raw('YEAR(begin_date))、'='、'YEAR(CURDATE())->或者其中(DB::raw('YEAR(begin_date)、'1')->groupBy(DB::raw('MONTH(begin(begin_date))->get());

您可以使用
whereYear('begin('beging)日期)
('Y'))date('Y')是什么?它返回当前年份 $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();