Сложная конструкция в &where с ТВ-параметрами

Добрый день.
Что-то никак не могу разобраться как сделать сложный запрос через &where. Прошу подсказать.

Задача:
Мне нужно получить список ресурсов, у которых:
1. template = 3
2. goodSfera LIKE '%#134#%'
3. goodFormFactor LIKE '%#141#%'
4. goodAdv LIKE '%#123#%' OR goodAdv LIKE '%#127#%' OR goodAdv LIKE '%#128#%'

goodSfera, goodFormfactor и goodAdv — это ТВ-параметры, количество goodAdv может быть до 10 условий.

Как должен выглядеть &where-запрос? Вот так не хочет работать, точнее выдает без учета фильтра:
{"template":3,"goodSfera:LIKE":"%#134#%","goodFormfactor:LIKE":"%#141#%","goodAdv LIKE '#123#' OR goodAdv LIKE '#127#' OR goodAdv LIKE '#128#'"}

Я полагаю, что ошибка связана с goodAdv конструкцией, потому что без него фильтр работает корректно.

В конечном счете я хочу получить вот такой запрос:
SELECT ... WHERE goodSfera LIKE '%#134#%' AND goodFormFactor LIKE '%#141#%' AND (goodAdv LIKE '%#123#%' OR goodAdv LIKE '%#127#%' OR goodAdv LIKE '%#128#%')
Спасибо за подсказки.
Михаил
19 июля 2017, 12:37
modx.pro
1 077
0

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

Михаил
20 июля 2017, 18:49
0
Вот такой запрос тоже не работает:

{"template":3,"goodSfera:LIKE":"%#135#%","goodFormfactor:LIKE":"%#141#%","goodAdv:LIKE":" '%#125#%' OR goodAdv LIKE '%#129#%'"}
Есть идеи?
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1