【发布时间】:2021-06-13 19:21:55
【问题描述】:
MySQL 结构
id
key
display_name
value
details
group
created_at
updated_at
Laravel 资源索引
public function index()
{
$settings = Setting::groupBy('group')->select('id','group as name')->orderBy('id', 'ASC')->get();
return view('settings.general'), compact('settings'));
}
当我运行代码时,它是如何出错的:
SQLSTATE[42000]:语法错误或访问冲突:1055 SELECT 列表的表达式 #1 不在 GROUP BY 子句中,并且包含在功能上不依赖于 GROUP BY 子句中的列的非聚合列“demodb.settings.id”;这与 sql_mode=only_full_group_by 不兼容(SQL:select id, group as name from settings group by group order by id asc)
【问题讨论】:
-
还在 database.php mysql 连接中启用 strict=>false
-
这是一个非常糟糕的主意,因为它允许运行错误的查询
-
我不想开启严格模式
标签: php mysql laravel laravel-models