Подзапрос в pdoFetch

Пожалуйста, подскажите гуру MODX — есть ли возможность как-то указать подзапрос в leftjoin?

Запрос сейчас выглядит так:

{'!msProducts'|snippet:[
    'limit' => '3',
    'parents' => '3',
    'sortby' => 'publishedon',
    'sortdir' => 'ASC',
    'tpl' => '@FILE chunks/minishop2/products_row.tpl',
    'leftJoin' => '{"small":{"class":"msProductFile","alias":"small", "on": "small.product_id = msProduct.id AND small.path LIKE \'%/small/\'"}}',
    'select' => '{"small":"GROUP_CONCAT(small.url ORDER BY small.rank SEPARATOR \';\') as images"}',
    'showLog' => '1',
]}

Цель: нужно вытащить только те изображения, у которых в поле description есть уникальное значение (там хранится цвет товара). С этим кодом в $small попадают все изображения. Для этого скорей всего нужен подзапрос в leftjoin, в котором я бы сделал GROUP BY. Если подскажите другое решение, буду признателен.
Алексей Суслов
28 марта 2018, 17:47
modx.pro
908
0

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

Алексей Суслов
03 апреля 2018, 03:50
0
Ни у кого нет идей?
    Alexey T
    03 апреля 2018, 08:38
    0
    Надо добавить where
    {'!msProducts'|snippet:[
        'limit' => 3,
        'parents' => 3,
        'sortby' => 'publishedon',
        'sortdir' => 'ASC',
        'leftJoin' => '{"small":{"class":"msProductFile","alias":"small", "on": "small.product_id = msProduct.id AND small.path LIKE \'%/small/\'"}}',
        'select' => '{"small":"GROUP_CONCAT(small.url ORDER BY small.rank SEPARATOR \';\') as images"}',
        'showLog' => 1,
        'where' => '{ "small.description": "my_color" }',
    ]}
      Алексей Суслов
      03 апреля 2018, 08:51
      0
      Так мы получим изображения товаров только с одним конкретным цветом, а нужно получить все изображения товаров, для которых есть уникальное значение цвета. То есть например у футболки есть 6 изображений (2 на каждый цвет), так вот в итоге нужно получить 3 изображения, по одному на каждый уникальный цвет.
      С моим кодом я получаю все 6 изображений, с вамим кодом я буду получать 2 изображения какого-то одного цвета.
      Алексей Суслов
      07 апреля 2018, 04:41
      0
      Может еще у кого есть какие идеи?
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        4