Php 逃逸>;哈文格罗至&;燃气轮机;

Php 逃逸>;哈文格罗至&;燃气轮机;,php,laravel,eloquent,Php,Laravel,Eloquent,Laravel框架8.37.0 PHP8.0.3 公共函数scopePending($query){ $query->join('workshop','workshop.event_id','=','events.id')) ->groupBy('events.id') ->havingRaw('min(workshops.start)>NOW()'); } 返回以下错误: Illuminate\Database\QueryException: SQLSTATE[42000]: Syntax

Laravel框架8.37.0 PHP8.0.3

公共函数scopePending($query){
$query->join('workshop','workshop.event_id','=','events.id'))
->groupBy('events.id')
->havingRaw('min(workshops.start)>NOW()');
}
返回以下错误:

Illuminate\Database\QueryException: SQLSTATE[42000]: Syntax error or access violation: 1055 'laravel8testapp.events.name' isn't in GROUP BY (SQL: select `events`.* from `events` inner join `workshops` on `workshops`.`event_id` = `events`.`id` group by `events`.`id` having min(workshops.start) > NOW()) in file /var/www/laravel8testapp/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 678
它以某种方式在原始表达式中用
转义
。 在正常情况下,where查询
按预期工作。 如果我手动运行查询(将
替换为
),它将按预期工作

你们有什么想法吗? 也许这只是我的一个问题,或者这是一个可复制的bug


最好的祝愿

正如例外情况所述,我的坏:

`“laravel8testapp.events.name”不在GROUP BY中``

使用
SET SQL\u MODE=''
解决了这个问题,尽管我不推荐这样做。

我认为实际的错误是
'laravel8testapp.events.name'不在groupby…
中。这可能只是HTML转义的错误消息,而不是查询。我进一步测试了这一点,但如果我将查询从错误消息复制并粘贴到控制台,它就可以正常工作。