Я построил небольшой запрос, только он не верен выводит только узлы с типом 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')