【问题标题】:How to fix column name is not in a groupBy laravel?如何修复列名不在 groupBy laravel 中?
【发布时间】:2021-11-16 13:19:15
【问题描述】:

我在过去 2-3 天都遇到了这个错误。我拿着这个任务稍后在我的空闲时间检查这个。但是,我仍然遇到同样的错误。请帮我找出错误。我厌倦了检查谷歌上的所有解决方案。但没有任何效果。

错误

Illuminate\Database\QueryException: SQLSTATE[42000]: 语法错误或访问冲突:1055 'dating-app.messages.id' 不在 GROUP BY 中(SQL: select * from messages group by room_id在第 692 行的文件 C:\xampp\htdocs\dating-app\vendor\laravel\framework\src\Illuminate\Database\Connection.php 中有 is_read = 0)

这是我的查询

$messages = Message::groupBy('room_id')->having('is_read', 0)->get();
return response()->json(['status' => true, 'message' => $messages]);`

感谢任何解决方案!

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    这是因为您在 select 语句中使用的任何列都必须出现在 group by 子句中。所以select *group by 相处不来。删除你的关系中的groupBy('room_id'),看看效果如何。

    或者,如果您使用的是 MySQL 版本 >5.7,则通过进入 config/database.php 并为 MySQL 设置 strict => false 来禁用 MySQL 严格模式。

    source

    【讨论】:

      猜你喜欢
      • 2020-07-15
      • 1970-01-01
      • 1970-01-01
      • 2021-03-27
      • 2020-01-02
      • 2019-07-10
      • 2023-01-08
      • 1970-01-01
      • 2020-04-26
      相关资源
      最近更新 更多