错误信息:
SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'course_study.course_comment.user_id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by (SQL: SELECT user_id,course_id FROM course_comment group by course_id having user_id = 25)
解决方法:
1 . 修改 Mysql 的配置文件
在 Windows 下找到 my.ini ,修改 sql_mode ,去掉 ONLY_FULL_GROUP_BY
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
保存并重启 MySql。
此时执行 SQL 命令没有问题,但是通过Lumen访问时还是提示出错。
2.关闭 Lumen 项目的严格模式
在 Lumen 项目的根目录下创建 config 文件夹,将 Laravel 项目的 config/database.php 文件放在 Lumen 项目的 config 文件夹中。
修改其中的 'strict' => false ,默认是 true,将严格模式开启即可。