Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 29.01.2018 22:39:16

Собрать children

Помогите собрать массив со всеми вложенностями children

$nodes = File::where('parent_id', '0')->get();

мне надо тоже самое что и если бы я делал так

$nodes = File::where('parent_id', '0')->with('children.children')->get();

только я не знаю какая вложенность


dump($this->createTree($nodes, $arr));die;

private function createTree($nodes, &$arr)
    {
        foreach ($nodes as $k => $item) {

            if ($item->parent_id === 0) {
                $arr[$item->id] = $item->toArray();
            }

            $this->loop($item->children()->get(), $arr);
        }

        return $arr;
    }

    private function loop($items, &$arr)
    {
        foreach($items as $item)
        {
            if (isset($arr[$item->parent_id])){ // не понимаю как тут заносить когда глубина больше одного
                $arr[$item->parent_id][$item->id] = $item->toArray();
            }

            dump($item->children()->get());

            $this->loop($item->children()->get(), $arr);
        }
    }

Не в сети

Подвал раздела