Не работает выборка

Пытаюсь сделать выборку
[[getImageList?
                                  &docid=`3`
                                  &tvname=`service`
                                  &tpl=`tplServicePrice`
                                  &where=`{"price: LIKE":"2200"}`
                                ]]
все работает, но я хочу сделать чтобы выводилось все если начинается с цифры 2
сделал так и не работает
[[getImageList?
                                  &docid=`3`
                                  &tvname=`service`
                                  &tpl=`tplServicePrice`
                                  &where=`{"price: LIKE":"2%"}`
                                ]]
Подскажите пожалуйста как это сделать?
vit
vit
12 апреля 2023, 20:21
modx.pro
393
0

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

Артур Шевченко
12 апреля 2023, 20:53
0
Попробуй убрать пробел перед LIKE. И подумай над тем, чтобы изменить условие, потому что выбирать цену начинающуюся с 2 как-то странно.
    vit
    vit
    12 апреля 2023, 23:28
    0
    Пробовал убрать пробел, не чего не выводиться, пустой экран.
    Условие цены это как пример
    vit
    vit
    14 апреля 2023, 08:01
    0
    Решение:
    Просто параметр &where в getImageList — это не выборка по запросу из базы данных. Там прописана своя какая-то логика github.com/Bruno17/MIGX/blob/80b5a92bb04475a541c8e04d182aec8d1203a630/core/components/migx/model/migx/migx.class.php.xxx#L916
      Алексей Смирнов
      14 апреля 2023, 10:01
      0
      Считайте вы верно сделали, теперь сможете выбрать (подобрать) нужный оператор для фильтрации массива.
      MIGX хранит данные в json формате, и при фильтрации — фильтрует этот массив, а MIGX_db хранит в БД. Отсюда и выходит некоторые различия в операторах для where.
      Если не нашли необходимый оператор, то, видимо, придется писать свой сниппет с фильтрацией.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4