JSON格式的菜单树结构

时间:2018-09-14 07:05:11

标签: php laravel

我需要创建以下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 :(得分:0)

我认为您应该使用Laravel软件包来实现这一目标,这是您可以使用https://github.com/etrepat/baum的插件。

为此,您需要更改数据库表结构,还需要在模型中进行一些更改。 并且此包为您提供了完整的数据层次结构作为父子级。