pdoTools и более 60 TV параметров в запросе

При попытке выбрать 100 TV полей pdoTools ничего не выводит кроме mysql ошибке в логе:
«Too many tables; MySQL can only use 61 tables in a join»

Есть ли быстрый способ это обойти или все же придется писать свой процессинг?

P.S. Сто полей конечно много, но что поделать, если у товара столько параметров, управлять ими через migx не удобно, да и заливать их туда тоже (спарсил со старого сайта).
Dmitry Rodionov
25 мая 2015, 23:08
modx.pro
1 498
0

Комментарии: 5

Dmitry Rodionov
26 мая 2015, 02:43
0
Вопрос решил, разбив на два запроса к pdoTools по 50 параметров и смержив их вместе. Спасибо.
    Женя
    09 июля 2015, 10:59
    0
    А можно подробнее, как вы разбили и соединили их? А то такая же проблема с полями(
      Воеводский Михаил
      09 июля 2015, 11:52
      0
      Когда речь о таком количестве TV, правильнее расширять модель товара новыми полями: bezumkin.ru/modx/minishop2/classes/910/
        Dmitry Rodionov
        09 июля 2015, 12:20
        0
        когда речь о динамически генерируемых полях, и количество которых первоначально не известно, то явно это не подходит
        Dmitry Rodionov
        09 июля 2015, 12:27
        0
        Смотря в каком контексте нужно такое объединение, моя цель была получить набор характеристик по каждому товару для дальнейшей обработки их, выглядит это так:
        //.... Установка переменных для первого запроса и его вызов
        $res1 = $pdoFetch->run();
        //.... Установка переменных для второго запроса и его вызов
        $res2 = $pdoFetch->run();
        //Объединение двух запросов
        $res=array_replace_recursive($res1,$res2);
        Если цель просто вывести параметры ресурса, то можно написать либо отдельный сниппет для этого, либо писать так: [[#[[+id]].tv_field_name]], производительность во втором случае страдает.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      5