Выборка данных по полю "extended" в БД

Привет профессионалам и таким же начинающим как я)))

Вопрос к профессионалам.

Подскажите пожалуйста как правильно сделать запрос к полю «extended» в БД.

Допустим мне нужны все записи которые содержат «alone» в столбце «lider»

В ячейке БД «extended» запись имеет вид
{"lider":"alone","skype":"s.aloneby"}
Вот как сделать такой запарос? Спасибо ребята за терпение к таким как я. Вы ооочень помогаете стать умнее.
Станислав
Станислав
31 июля 2014, 10:50
modx.pro
2 075

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

Василий Наумкин
31 июля 2014, 15:02
Только так:
WHERE `extended` LIKE '%"lider":"alone"%'

При использовании pdoTools, это будет выглядеть вот так:
$pdo = $modx->getService('pdoFetch');
$users = $pdo->getCollection('modUserProfile', array('extended:LIKE' => '%"lider":"alone"%'));
print_r($users);
Станислав
31 июля 2014, 16:12
Подскажите еще такой момент.
Вот конструкция
[[!pdoUsers?
    &groups=`Users`
    &tpl=`@INLINE <p>Имя - [[+fullname]], ID - [[+id]]</p>`
    &sortby=`id`
    &sortdir=`asc`
]]
Что тут надо дописать, чтобы был тот же результат?
    Илья Уткин
    31 июля 2014, 18:02
    Вроде, так:
    [[!pdoUsers?
        &groups=`Users`
        &tpl=`@INLINE <p>Имя - [[+fullname]], ID - [[+id]]</p>`
        &sortby=`id`
        &sortdir=`asc`
        &where=`{"extended:LIKE":"%\"lider\":\"alone\"%"}`
    ]]
      Станислав
      31 июля 2014, 18:06
      Илья спасибо большое за ответ, но не сработало (
        Володя
        31 июля 2014, 19:10
        &where=`{"`modUserProfile`.`extended`:LIKE":"%\"lider\":\"alone\"%"}`
      Konstantin
      11 января 2016, 22:51
      Илья, а почему с русским текстом не пашет?

      &where=`{"`modUserProfile`.`extended`:LIKE":"%\"pole\":\"пример\"%"}`
    Станислав
    31 июля 2014, 20:13
    И последний вопрос)
    Как сделать этот запрос динамичным.
    Залогинился человек и у него значение ALONE может быть другим.
    Как написать так, чтобы сначала делало проверку какое значение у него в этом поле LIDER, а потом вытаскивало все записи с таким же значением как у него?

      Володя
      31 июля 2014, 22:30
      я так думаю вопрос у вас совсем не последний)))

      зачем проверку то? берите его значение и выдергивайте с базы…
        Станислав
        01 августа 2014, 00:03
        Скорее всего вы правы Володя) По поводу что не последний)
        Согласен можно и так. Только вот что такое написать сюда чтобы так стало делать.
        &where=`{"`modUserProfile`.`extended`:LIKE":"%\"lider\":\"alone\"%"}`
        Что нужно написать вместо ALONE? или как-то по другому надо?

        Или может что то вообще нужно изменить в этой конструкции.

        [[!pdoUsers?
            &tpl=`@INLINE <p>Имя - [[+fullname]], ID - [[+id]]</p>`
            &sortby=`id`
            &sortdir=`asc`
            &where=`{"`modUserProfile`.`extended`:LIKE":"%\"lider\":\"alone\"%"}`
        ]]
        Простите за тупость, хочу научиться)))
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      12