Динамическая структура дерева меню данных - PullRequest
0 голосов
/ 13 сентября 2018

Мне нужно создать массив всех меню с динамической древовидной структурой. Я использовал приведенный ниже код. Но я получаю только родительские меню.

public function menuTree()
{
    $menus = Menu::whereStatus(1)
                ->whereIsAnchor(1)
                //->where('parent_id','=',0)
                ->orderBy('rank','asc')
                ->get()->toArray();

    $result=$this->generateMenuLists($menus, $parentId=0, $indent=0);
    return response()->json($result, 200);
}

public function generateMenuLists(array $elements, $parentId = 0,$indent = 0,$data='')
{
    if (!is_array($data)) {
        $data = array();
        foreach ($elements as $key => $element) {
            if ($element['parent_id'] == $parentId) {
                $data[] =   array($indent."--".$element['title']);
                $data = $this->generateMenuLists($elements, $element['id'],$indent + 1,$data);
            }
        }
    }
    return $data;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...