MySql 在 laravel 5.4 中使用内部联接和计数进行查询
MySql query in laravel 5.4 with inner join and count
我的 sql 查询在 phpmyadmin 中显示正确但是当我在 laravel 5.4 项目中使用它时它显示错误
SQLSTATE[42000]: Syntax error or access violation: 1055 'project_management.addprojects.id' isn't in GROUP BY (SQL: SELECT DISTINCT addprojects.id,addprojects.emp_id,sum(tasks.task_weight),tasks.flag from addprojects JOIN tasks ON tasks.proj_id = addprojects.id GROUP BY tasks.proj_id )
DB::select(" SELECT DISTINCT addprojects.proj_name,addprojects.id,
addprojects.emp_id,sum(tasks.task_weight),tasks.flag from addprojects
JOIN tasks ON tasks.proj_id = addprojects.id GROUP BY tasks.proj_id ");
因为Laravel使用了严格模式。您可以从 config/database.php 禁用它,您将在 mysql 数组配置 [=12] 中看到=]
'strict' => true,
将其设置为 false,您的查询将起作用
进一步了解严格SQL模式来自here
我的 sql 查询在 phpmyadmin 中显示正确但是当我在 laravel 5.4 项目中使用它时它显示错误
SQLSTATE[42000]: Syntax error or access violation: 1055 'project_management.addprojects.id' isn't in GROUP BY (SQL: SELECT DISTINCT addprojects.id,addprojects.emp_id,sum(tasks.task_weight),tasks.flag from addprojects JOIN tasks ON tasks.proj_id = addprojects.id GROUP BY tasks.proj_id )
DB::select(" SELECT DISTINCT addprojects.proj_name,addprojects.id,
addprojects.emp_id,sum(tasks.task_weight),tasks.flag from addprojects
JOIN tasks ON tasks.proj_id = addprojects.id GROUP BY tasks.proj_id ");
因为Laravel使用了严格模式。您可以从 config/database.php 禁用它,您将在 mysql 数组配置 [=12] 中看到=]
'strict' => true,
将其设置为 false,您的查询将起作用
进一步了解严格SQL模式来自here