
Обновив mysql сервер до версии 5.7, иногда можно столкнутся с некоторыми проблемами, связанными с группировкой. sql_mode=only_full_group_by
SQLSTATE[42000]: Syntax error or access violation: 1055 Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column 'littlebuilder.shop_product_price.price' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Обсуждение на эту тему можно почитать тут: http://stackoverflow.com/questions/34115174/error-related-to-only-full-group-by-when-executing-a-query-in-mysql
Решить эту проблему можно несколькими способами:
- Конечно же, поправив конфиг mysql сервера, но эта статья не об этом
- Переписать sql запросы, и снова статья не об этом
- Динамически изменить sql_mode в проекте yii2!
Правим конфиг проекта, а именно компонента db connection
...
"db" =>
[
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=db',
'username' => 'usr',
'password' => 'pwd',
'charset' => 'utf8',
'on afterOpen' => function($event) {
$event->sender->createCommand("SET sql_mode = ''")->execute();
}
]
...
Вот и вся магия: $event->sender->createCommand("SET sql_mode = ''")->execute();
-
Семенов Александр
- /
- 31 дек. 2016 г.
- /
- 0
- /
- 7768
Популярное
Релиз SkeekS CMS 5.6.5. Что нового в CMS в 2020 году?
- 29 апр. 2020 г.
Релиз SkeekS CMS 5.5.11 работает с yii2 2.0.24
- 13 авг. 2019 г.
Новые настройки модуля магазин skeeks/cms-shop 2.2.7.13
- 13 авг. 2019 г.
Как отправить форму в yii2 и skeeks cms через ajax?
- 18 апр. 2019 г.
Все комментарии (0)