fenom tvFilters like

Как правильно прописать оператор LIKE в pdoResources с fenom?
'tvFilters' => 'committees==' ~ $_modx->resource.id,
ТВ committees может быть с одним значением (52) или несколькими (52||53).
Сергей Самусев
02 декабря 2018, 16:37
modx.pro
1 852
0
Поблагодарить автора Отправить деньги

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

Олег
03 декабря 2018, 20:24
0
Попробуй так
set $tvFilters = 'committees==' ~ $_modx->resource.id
Посмотри, что в этой переменной, попробуй ее значение руками подставить.

Если несколько вариантов, то можно так:
{set $tvFilters = ''}
{foreach '52||53||54' | split : '||' as $id}
{$tvFilters += ',committees=='~$id'}
{/foreach}
На php и феноме давно не писал, примерная реализация
    Сергей Самусев
    03 декабря 2018, 20:30
    0
    committees может быть любым. Нужно выбрать по %LIKE%
      Олег
      03 декабря 2018, 20:37
      0
      Список фильтров по ТВ, с разделителями AND и OR. Разделитель, указанный в параметре &tvFiltersOrDelimiter представляет логическое условие OR и по нему условия группируются в первую очередь. Внутри каждой группы вы можете задать список значений, разделив их &tvFiltersAndDelimiter. Поиск значений может проводиться в каком-то конкретном ТВ, если он указан «myTV==value», или в любом «value». Пример вызова: &tvFilters=`filter2==one,filter1==bar%||filter1==foo`. Обратите внимание: фильтрация использует оператор LIKE и знак «%» является метасимволом. И еще: Поиск идёт по значениям, которые физически находятся в БД, то есть, сюда не подставляются значения по умолчанию из настроек ТВ.
      Соответственно если нужно спользовать лайк нужно делать строку

      set $tvFilters = 'committees==%' ~ $_modx->resource.id~'%'
        Сергей Самусев
        03 декабря 2018, 20:43
        1
        0
        'tvFilters' => 'committees==%' ~ $_modx->resource.id~'%', Работает. Спасибо!
          Олег
          03 декабря 2018, 21:16
          0
          Я бы сделал обертку значения, ибо по %52% найдутся и 152 и 524
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    5