We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 44987
    • 14 Posts
    Добрый день уважаемые форумчане! Такая проблема:
    имеется таблица MIGXDB с товарами из нее дергаются элементы через getProducts у которых стоит значение доступен = 1 (available = 1):
    [[getProduct?
        &className=`ShopContent`
        &packageName=`shop`
        &limit=`[[!#get.limit:default=`12`]]`
        &parents=`7`
        &tpl=`catalogElement`
        &where=`{"available:=":"1"}`]]
    

    Так все работает
    Но мне необходимо выбрать элементы которые если недоступны то имеют значение toOrder = 1. Вобщем в mysql рабочий запрос простой и рабочий, вот такой:
    SELECT * FROM `modx_shop_content` as m WHERE m.toOrder = 1 OR m.toOrder = 0 AND m.available = 1

    Судя по оффициальной документации http://rtfm.modx.com/extras/revo/getresources
    &where=`{"template:=":1, "OR:template:=":2}`

    исходя из этого примеры должны работать, но ни один не работает:
    &where=`{"toOrder:=":"1","OR:toOrder:=":"0","AND:available:=":"1"}'
    &where=`{"toOrder:=:OR":"1","toOrder:=:AND":"0","available:=":"1"}'
    


    в логе пишет всегда с AND условиями почему непонятно:
    SELECT DISTINCT `sc`.`id` FROM `modx_shop_content` `sc`
                WHERE ( ( `sc`.`resource_id` IN (7)
                 ) 
     AND (`sc`.`available` = :available04)
     AND (`sc`.`available` = :available05)
     AND (`sc`.`toOrder` = :toOrder06)
     ) 

    Может кто сталкивался?