Как сделать обертку TV фильтра в Fenom?
Прошу помочь с условием
Есть вызов pdoPages
У каждого ресурса есть доп поле — множественный выбор
Нужно вывести ресурсы, у которых одно из значений в поле соответствует id ресурса
А у ресурса на котором мы выводим pdoResources стоит id 44
Он выводит и те и те
Как можно обернуть условие таким образом, чтобы выводил более точно?
Есть вызов pdoPages
У каждого ресурса есть доп поле — множественный выбор
Нужно вывести ресурсы, у которых одно из значений в поле соответствует id ресурса
'tvFilters' => 'category==%' ~ $_modx->resource.id~'%',
Данное условие работает, но если у ресурса в доп поле указаны значений 44 и 144А у ресурса на котором мы выводим pdoResources стоит id 44
Он выводит и те и те
Как можно обернуть условие таким образом, чтобы выводил более точно?
Комментарии: 2
По Fenom:
tvFilters не использую, но судя по сторке выше и описанию, из-за % в условие подставляется LIKE и в результате вы получаете и будете получать результаты, где есть совпадение в любом месте (44,444,144,244,443 и т.д.).
Попробуйте убрать знак процента или использовать where вместо tvFilters.
'tvFilters' => ('category==%' ~ $_modx->resource.id~'%')
— Скобки гарантируют, что сначала произойдет конкантенация, и только потом установится значение.tvFilters не использую, но судя по сторке выше и описанию, из-за % в условие подставляется LIKE и в результате вы получаете и будете получать результаты, где есть совпадение в любом месте (44,444,144,244,443 и т.д.).
Попробуйте убрать знак процента или использовать where вместо tvFilters.
В TV category в возможных значениях нужно сделать так, чтобы у ресурса прописывался не голый ID категории, а с оберткой.
К примеру:
Тогда Вы можете делать выборку так:
К примеру:
-44-
Тогда Вы можете делать выборку так:
'tvFilters' => ('category==%-' ~ $_modx->resource.id~'-%')
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.