Выборка &where PdoR

У меня проблема с фильтром
так
&where=`["`TVzena-nds`.`value` >= 2000"] `
или так
&where=`["`TVzena-nds`.`value` >= 2000 AND `TVzena-nds`.`value` <= 2500"]`
РАБОТАЕТ,
но уже так
&where=`["`TVzena-nds`.`value` >= 2000 AND `TVtovar-proiz-seria.`value` = АЛЬФА"]`
или
&where=`["`TVzena-nds`.`value` >= 2000 AND `TVtovar-proiz-seria.`value` = `АЛЬФА`"]`
пишет: Could not process query, error #1054: Unknown column 'Siemens' in 'where clause'
НЕ РАБОТАЕТ.
и наоборот… когда отдельно хочу фильтровать строку, то РАБОТАЕТ такой вариант
&where=`{«tovar-proiz-seria:=»:«АЛЬФА»}`
но с ценой этот вариант
&where=`{«zena-nds:>=»:«2000»}` работает неправильно, фильтрует как строку
Уже перепробовал кучу вариантов… не могу допетрить в чём проблема
Как совместить фильтр по цене(Цифре) + фильтр по производителю(Строке) ???
ПООМООГИИТТЕЕЕ РАЗОБРАТЬСЯ!!! ПЛИИИЗЗЗЗ!!!
Виталий
25 февраля 2017, 20:34
modx.pro
1
1 367
+1

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

Александр
26 февраля 2017, 00:11
0
showlog?
Полный вызов сниппета?
    Виталий
    26 февраля 2017, 16:37
    0
    [[!pdoPage?
    &tpl=`katalog-tovar-filtr`
    &limit=`25`
    &maxLimit=`1000`
    &pageLimit=`7`
    &parents=`51`
    &includeTVs=`tovar-proiz-seria,desc,nalichie,tovar-isp-shit,tovar-kol-klapan,tovar-mosh-dvigatel,tovar-razmer,tovar-srok,tovar-tip,tovar-ves,zena-nds,ed-izm,down-tovar-opisanie,img-tovar`
    &tvPrefix=``
    &sortby=`{ «zena-nds»:«ASC»}`
    &where=`[[!filtersi]]`
    &showLog=`1`
    ]]
    Eugene Generalov
    26 февраля 2017, 02:09
    0
    А так не пробовали?
    &where=`{«tovar-proiz-seria:=»:«АЛЬФА», «zena-nds:>=»: 2000}`
      Виталий
      26 февраля 2017, 16:49
      0
      В таком случае ошибка не вылазит, но цены фильтрует не как числа, а как строки
          Илья Уткин
          27 февраля 2017, 10:33
          0
          Только тут нужно не сортировать, а добавить в select изменение типа поля
            Илья Уткин
            27 февраля 2017, 10:47
            1
            +1
            Только вместо 16 вставьте свой id ТВ-шки
            &select=`modResource.*, CAST(IFNULL(TVzena-nds.value, 0) AS DECIMAL(13,0)) AS zena-nds`
            &leftJoin=> `{
                "TVzena-nds":
                    {"class":"modTemplateVarResource",
                     "on":"TVzena-nds.contentid = modResource.id AND TVzena-nds.tmplvarid = 16"}
                }`
              Виталий
              28 февраля 2017, 09:14
              0
              Всё отлично работает!!! Спасибо огромное за помощь!!!
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      8