Снова where и множественный выбор
Здравствуйте!
Логика должна быть следующая: у текущего ресурса, где запускается выборка есть TV option (например имя1==1) с одним значением. У выбираемых ресурсов есть TV rubrika со списком множественного выбора (там несколько значений вида имя1==1||имя2==2||имя3==3). Выбираться должны только ресурсы имеющие в своем множественном списке совпадение с текущим значением TV ресурса где запускается выборка.
Вот так не работает:
Логика должна быть следующая: у текущего ресурса, где запускается выборка есть TV option (например имя1==1) с одним значением. У выбираемых ресурсов есть TV rubrika со списком множественного выбора (там несколько значений вида имя1==1||имя2==2||имя3==3). Выбираться должны только ресурсы имеющие в своем множественном списке совпадение с текущим значением TV ресурса где запускается выборка.
Вот так не работает:
[[!pdoPage?
&parents=`4`
&includeTVs=`rubrika`
&where=`{"[[*option]]:IN":rubrika}`
&tpl=`RowTpl`
]]Подскажите, пожалуйста, как решить данную задачку. Комментарии: 8
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Через IN тут не решить вопрос. Нужно через LIKE ()
Добавьте &showLog=`1` и посмотрите, свой запрос.
TV выбираемых ресурсов с множественными значениями — rubrika
если значения rubrika меньше 10 должно ловить. Если больше 10, то на option=1 словит и 1 и 10 и 11 и т.д.
Да такой подход действительно работает! Мне подошел этот вариант (как раз сейчас 9 элементов).
Но есть ли более универсальный вариант, где более 10 вариантов?
TV rubrika со списком множественного выбора (там несколько значений вида имя1==1||имя2==2||имя3==3) храниться в базе как текст например такой «1||3||13». И ни как запросом LIKE не отличишь 1 от 13.
Нужно список множественного выбора хранить как отдельные значения в таблице. Например tvsuperselect храниться в 2 таблицах и как текст «1||3||13» и в отдельной таблице отдельные значения. Я не помню как именно.
Если использовать tvsuperselect, то, наверно, можно в pdoPage подцепить 2-ю таблицу и написать что-то вроде
modx.pro/solutions/23005