一、修改增加节点信息
按照如下表进行添加 

二、基础模型添加数组多层级
public function subTree(array $data, int $pid = 0) {
$arr = [];
foreach ($data as $val) {
if ($pid == $val['pid']) {
$val['sub'] = $this -> subTree($data, $val['id']);
$arr[] = $val;
}
}
return $arr;
}

三、权限(节点)模型进行菜单层级化
public function treeData() {
$menuData = Node::where('is_menu', '1') -> get() -> toArray();
return $this -> subTree($menuData);
}

四、后台首页控制器修改
读取菜单控制器
public function index() {
$menuData = (new Node()) -> treeData();
return view('admin.index.index', compact('menuData'));
}

五、修改后台首页模版
将读取到的菜单进行循环展示:
@foreach($menuData as $item)
<dl id="menu-admin">
<dt><i class="Hui-iconfont">&
<dd>
<ul>
@foreach($item['sub'] as $subItem)
<li><a data-href="{{route($subItem['route_name'])}}" data-title="{{$subItem['name']}}" href="javascript:void(0)">{{$subItem['name']}}</a></li>
@endforeach
</ul>
</dd>
</dl>
@endforeach

六、效果

在学习的php的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。
|