creocoder / yii2-nested-sets

The nested sets behavior for the Yii framework.
Other
446 stars 129 forks source link

Достать все узлы дерева: корень1, корень1->потомки, корень2, корень2->потомки, и т.д. #99

Closed samatic closed 8 years ago

samatic commented 8 years ago

Здравствуйте. Вообщем нужен массив вида:

[
    ['id'=>1, 'name'=>'Верхнее Меню', 'depth'=> 0], //Корневой узел
    ['id'=>2, 'name'=>'Главная', 'depth'=> 1],
    ['id'=>3, 'name'=>'Товары', 'depth'=> 1],
    ['id'=>4, 'name'=>'Чайники', 'depth'=> 2],
    ['id'=>5, 'name'=>'Утюги', 'depth'=> 2],
    ['id'=>6, 'name'=>'Микроволновки', 'depth'=> 2],

    ['id'=>7, 'name'=>'Нижнее Меню', 'depth'=> 0], //Корневой узел
    ['id'=>8, 'name'=>'Контакы', 'depth'=> 1],
    ['id'=>8, 'name'=>'Карта сайта', 'depth'=> 1],
]

и т.д. Для вывода вида:

Верхнее Меню -Главная -Товары --Чайники --Утюги --Микроволновки Нижнее Меню -Контакты -Карта сайта

Можно вытащить все узлы, можно вытащить все корневые узлы, можно получить потомков определенного узла, можно получить всех потомков, но как вытащить выше указанное дерево? Спасибо.

samatic commented 8 years ago

А все нашел решение: Menu::find()->orderBy('tree')->all()