doniyorbekm
@doniyorbekm
Yii-шник

Как выбрать все вложенные категории из БД?

Привет всем! Есть интересная задачка, не могу довести до конца.
1. Есть БД с таблицей doc_structure. Там хранятся наименования и зависимости отделов организации. Вот скрин:
5a9d8a66c4ab8183951272.png
2. Я написал код, который вытаскивает и формирует массив данных об отделах. Вот код:
public $data;
public $tree;

$this->data = Structure::find()->asArray()->indexBy('id')->all();

3. Есть функция, которая формирует дерево отделов с неограниченной вложенностью. Вот метод:
protected function getTree() {
        $tree = [];
        foreach ($this->data as $id => &$node) {
            if(!$node['parent_id'])
                $tree[$id] = &$node;
            else
                $this->data[$node['parent_id']]['childs'][$node['id']] = &$node;
        }
        return $tree;
    }


Теперь, внимание, задача! Как и куда передавать параметры, чтобы получить массив вложенности отделов только для конкретного отдела? Т.е., предположим, я хочу только все подчинённые отделы - отдела с ID = 3 (IT департамента). По идее я должен получить массив вложенности IT департамент->Отдел администрирования->СПСС
  • Вопрос задан
  • 93 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы