Структура дерева меню в формате json - PullRequest
0 голосов
/ 14 сентября 2018

Мне нужно создать меню в формате ниже json. Ниже моя таблица, из которой я получаю данные: -

id  name        parent
1   Company     0
2   About Us    0
3   Contact Us  0
4   Networks    0
5   Services    0
6   News        0
7   company1    1
8   Compnay 11  7

и мой исключенный формат указан ниже.

{
    "0":{
            '1':'Company'
                        {
                        '7':'company1'
                            {
                                '8':'Compnay 11'
                            }
                        }
        },
        {
            "2":'About Us'
        }

}

Я попробовал следующий код

function categoryList($parent,$level)
{
    Global $catArr;
    $categories = Category::where('parent','=',$parent)->get();
    foreach($categories as $allCat) {

        $catArr[$allCat->id] = str_repeat("-", $level).$allCat->name;
        $level++;
        categoryList($allCat->id,$level);
        $level--;
    }
    return $catArr;
}

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 14 сентября 2018

Я думаю, вы должны использовать пакет Laravel для достижения этой цели. Вот плагин, который вы можете использовать https://github.com/etrepat/baum.

Для этого вам нужно изменить структуру таблицы базы данных, а также внести некоторые изменения в вашу модель. И этот пакет предоставляет вам полную иерархию данных как parent-child.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...