我在其他问题上尝试过解决方案,但这不能解决我的问题。 我从真到假都是严格的 。 使用的模式
'modes' => [ 'STRICT_TRANS_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'ERROR_FOR_DIVISION_BY_ZERO', 'NO_AUTO_CREATE_USER', 'NO_ENGINE_SUBSTITUTION' ]以及。 但是我得到了同样的错误。
$orders = Order::orderBy('id', 'desc')->groupBy('order_id')->get(); dd($orders);这引发错误语法错误或访问冲突:1055'my_db.orders.id'不在GROUP BY中(SQL:select * from orders group by order_id order by id desc)
(我正在使用Laravel 5.6)
I have tried solutions in other questions but that is not solving my issue. I have made strict from true to false. Used modes
'modes' => [ 'STRICT_TRANS_TABLES', 'NO_ZERO_IN_DATE', 'NO_ZERO_DATE', 'ERROR_FOR_DIVISION_BY_ZERO', 'NO_AUTO_CREATE_USER', 'NO_ENGINE_SUBSTITUTION' ]as well. But I am getting the same error.
$orders = Order::orderBy('id', 'desc')->groupBy('order_id')->get(); dd($orders);This is throwing the error Syntax error or access violation: 1055 'my_db.orders.id' isn't in GROUP BY (SQL: select * from orders group by order_id order by id desc)
(I am using Laravel 5.6)
最满意答案
在config / database.php中将'strict'=> true更改为'strict'=> false并清除缓存
PHP的工匠配置:缓存
要么
mysql> SET GLOBAL sql_mode =(SELECT REPLACE(@@ sql_mode,'ONLY_FULL_GROUP_BY',''));
In config/database.php Change 'strict' => true To 'strict' => false and clear the cache
php artisan config:cache
OR
mysql > SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
更多推荐
发布评论