Ошибка GET-запроса Sulu CMS

У меня есть 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 или это можно исправить в коде?


person Pawel Novikov    schedule 06.10.2017    source источник
comment
Общее правило GROUP BY гласит: если указано предложение GROUP BY, каждая ссылка на столбец в списке SELECT должна либо идентифицировать столбец группировки, либо быть аргументом функции set.   -  person jarlh    schedule 06.10.2017
comment
да, но sql-запрос генерируется в вендоре, поэтому я не могу изменить код вендора. Вот поэтому и спрашиваю какое лучшее решение этой проблемы в Сулу   -  person Pawel Novikov    schedule 06.10.2017
comment
В MySQL есть режим совместимости, разрешающий недопустимые GROUP BY. Может быть, вы можете установить его?   -  person jarlh    schedule 06.10.2017


Ответы (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

person Pawel Novikov    schedule 06.10.2017