pdoTools: параметр where

Здравствуйте!

Появилась задача вывести при помощи сниппета pdoMenu ссылки на ресурсы двух родителей плюс ссылки на некоторые ресурсы не имеющие отношение к этим родителям. Для реализации этого использую параметр where:
&where=`{"parent":26,"OR:parent":29,"OR:id":31,"OR:id":33}`

Или так:
&where=`[{"parent":26,"OR:parent":29,"OR:id":31,"OR:id":33}]`
Результат нулевой.

Подскажите пожалуйста как правильно писать такие значения в этот параметр и вообще как лучше всего решить эту задачу?

Всем заранее большое спасибо!

РЕШЕНИЕ:
В ситуациях когда много AND и OR условий лучше помещать в параметр &where просто часть SQL-запроса относящуюся к WHERE:
&where=`["SQL-запрос"]`
Дело в том что если у нас условие типа такого:
&where=`{
"parent":5,
"OR:parent:=":36,
"OR:id:=":29,
"OR:id:=":8
}`
То условия с ID представляют собой элементы JSON-массива с одинаковыми ключами и соответственно последующие элементы перезаписывают предыдущие. В результате в запрос попадет лишь последнее условие.
Павлик
29 января 2018, 16:06
modx.pro
3 216
0

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

snyadanak
29 января 2018, 20:23
0
&where=`{"parent:=":26,"OR:parent:=":29,"OR:id:=":31,"OR:id:=":33}`
    Павлик
    29 января 2018, 20:26
    0
    А почему здесь нужно именно сочетание :=?
    Что оно означает?
      snyadanak
      29 января 2018, 20:53
      0
      это значит «равно» :)
        Павлик
        29 января 2018, 20:56
        0
        А почему для простых условий типа как это:
        &where=`{"parent":26}`
        достаточно только двоеточия?
    Павлик
    30 января 2018, 12:14
    0
    Подставил сейчас это значение: в результате отобразились все нужные пункты кроме ресурса с ID 31.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    6