GROUP_CONCAT() 是有最大长度限制的,默认值是 1024。
当总长度达到 1024 后,后面的记录会被截断掉!
可以通过 group_concat_max_len 参数进行动态设置。参数范围可以是 Global 或 Session。
DB::statement('SET GLOBAL group_concat_max_len = 1000000');
如果设置未生效,请检查:
- 您的托管服务提供商是否允许修改全局变量?
- 您的用户权限是否具有“SET”权限?
- 查询是否在您的非本地环境中引发任何类型的错误?
或者使用 Session 方式
DB::statement('SET SESSION group_concat_max_len = 1000000');
