Запрос в базу данных (Kartik)

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
MrAmid
Сообщения: 7
Зарегистрирован: 2017.11.28, 17:55

Запрос в базу данных (Kartik)

Сообщение MrAmid »

Всем привет. Нужно правильно сформировать запрос в базу данных. Таблица KartikTreeNode. В ней находятся узлы для построения дерева папок. Задача в том что бы выводить не все "ветки", а только те у которых на нижнем уровне будет узел с типом два.
Я построил небольшой запрос, только он не верен выводит только узлы с типом 2. А должен показывать всю структуру папок, в которой этот узел находится:

Код: Выделить всё

KartikTreeNode::find()

        ->from(KartikTreeNode::tableName() . ' AS hs')
        ->where(
            [
                'hs.rgt' => new \yii\db\Expression('hs.lft + 1'),
                'hs.type' => 2,
                'hs.hs_tree_id' => $item->id
            ])
        ->innerJoin(KartikTreeNode::tableName() . ' AS p', [
                'and',
                'p.root=hs.root',
                'hs.lft<p.lft',
                'hs.rgt<p.rgt',
            ]
        )

        ->orderBy('root, lft')
Буду очень признателен за помощь.
Аватара пользователя
leonenco
Сообщения: 155
Зарегистрирован: 2017.01.30, 22:42

Re: Запрос в базу данных (Kartik)

Сообщение leonenco »

Покажите модели ваших таблиц, (какие поля присутствуют), от этого можно написать SQL запрос.
Ответить