Запрос в pdoUsers в связке с запросом к своим таблицам
Добрый день, уважаемые!
Есть таблица, в которой хранятся данные о пользователях. Нужно написать сниппет, который бы производил поиск по определённым группам пользователей. Решил использовать pdoUsers для данной задачи, но вот такая проблемка: при поиске нужно сверять указанные во время поиска данные с тем, что находится в этой сторонней таблице. Подскажите, есть ли возможность работать таким образом с pdoUsers? Если есть, то каким образом это можно сделать?
P.S.: Таблица называется "modx_nzs_users", ячейки, по которым будет производиться поиск "kurs", "fak" и т.д… Ячейка, где хранится internalKey пользователя modx — "userId".
Решено:
Есть таблица, в которой хранятся данные о пользователях. Нужно написать сниппет, который бы производил поиск по определённым группам пользователей. Решил использовать pdoUsers для данной задачи, но вот такая проблемка: при поиске нужно сверять указанные во время поиска данные с тем, что находится в этой сторонней таблице. Подскажите, есть ли возможность работать таким образом с pdoUsers? Если есть, то каким образом это можно сделать?
P.S.: Таблица называется "modx_nzs_users", ячейки, по которым будет производиться поиск "kurs", "fak" и т.д… Ячейка, где хранится internalKey пользователя modx — "userId".
Решено:
[[!pdoUsers?
&showLog=`1`
&loadModels=`nzs`
&innerJoin=`
{
"nzsUser": {
"class":"NzsUsers",
"alias":"nzsUser",
"on": "nzsUser.userId = modUser.id"
}
}`
&where=`{"nzsUser.fak:LIKE":"%Программирование%"}`
&select=`{
"modUser":"*",
"nzsUser":"fak,kurs"
}`
]]
Комментарии: 8
Чтобы подключить модель через сниппет, ее нужно сначала сгенерировать. Про схемы и модели, например, тут.
Я работаю со своими таблицами при помощи CMP Generator, он вроде генерит модели сам? Как в таком случае подключить модель через сниппет и работать с таблицей через pdoUsers? БлагоДарю за помощь!
Отлично! Мне за это полагается помощь высококлассного специалиста в моём вопросе?))))
Из них четверть — мои. Кошмар…
Загрузка своей модели в сниппетах pdoTools производится через &loadModels.
Затем можно использовать &innerJoin, чтобы присоединить другую таблицу и искать что-то по ней. Смотри пример работы с галереей через pdoResources вот здесь.
У тебя должно быть что-то вроде
Затем можно использовать &innerJoin, чтобы присоединить другую таблицу и искать что-то по ней. Смотри пример работы с галереей через pdoResources вот здесь.
У тебя должно быть что-то вроде
[[!pdoUsers?
&loadModels=`nzsUsers`
&innerJoin=`{
"nzsUser":{"class":"nzsUser", "on":"myUser.internalKey = modUser.id"}
}`
&where=`{"nzsUser.fak":"text", "nzsUser.kurs:>":15}`
&select=`{
"modUser":"*",
"nzsUser":"fak,kurs"
}`
]]
Возможный неточности и опечатки, не проверял. Награда за 20000 комментарий.
СпасИбо, Василий! А я здесь немного не так составлял запрос. Теперь понял, в чём моя ошибка!!! БлагоДарю за помощь!!!
На здоровье.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.