Group_Concat_Max_Len Prestashop увеличение лимита
Понадобилось увеличить лимит группировки выборки с помощью GROUP_CONCAT из базы данных, но как оказалось выгружаются только 1024 символа для каждого объединения.
В общем для того чтобы выгружалось больше символов нужно либо указать настройки на mysql сервере, но если нет такой возможности то нужно внутри модуля перед выполнением sql запроса прописать некоторую запись.
Запись следующая:
1 2 | $sqlset = 'SET group_concat_max_len=4096 '; $resultset = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($sqlset); |
Число 4096 может быть любое, по умолчанию 1024. Все зависит от мощностей виртуального хостинга.
А дальше уже остальной запрос типа:
1 | $sql = 'SELECT p.`id_product`, p.`active`, pl.`name`, '; |
………
1 | $products = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS($sql); |
И после этого группируются все значения в пределах указанного количества символов.