【问题标题】:Sulu CMS GET-request errorSulu CMS GET 请求错误
【发布时间】:2017-10-06 08:55:29
【问题描述】:

我有一个 AJAX GET 请求,它应该向我返回类别列表,但我收到了一个 SQL 错误 SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column

我的请求 URl 是下一个:http://my-domain.com/admin/api/categories?flat=true&sortBy=depth&sortOrder=asc&fields=name,id

解决此问题的最佳方法是什么?我应该更改 mysql .cnf 文件还是可以在代码中修复?

【问题讨论】:

  • 一般 GROUP BY 规则说:“如果指定了 GROUP BY 子句,则 SELECT 列表中的每个列引用必须标识一个分组列或作为集合函数的参数。”
  • 是的,但是 sql-query 是在 vendor 中生成的,所以我不能更改 vendor 代码。这就是为什么我要问苏禄这个问题的最佳解决方案是什么
  • MySQL 有一个兼容模式来允许那些无效的 GROUP BY。也许你可以设置它?

标签: php mysql sql symfony sulu


【解决方案1】:

好的,问题出在 MySQL 兼容性上。

所以,我只是通过添加以下行来更改 mysql.cnf 文件: [mysqld] sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

【讨论】:

    猜你喜欢
    • 2017-10-05
    • 2018-03-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-02
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    • 2021-08-08
    相关资源
    最近更新 更多