按照如下表进行添加
/** * 数组多层级 * @param array $data * @param int $pid * @param array */ public function subTree(array $data, int $pid = 0) { $arr = []; foreach ($data as $val) { // 给定的pid是当前记录的上级id 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(); // dump($menuData); return view('admin.index.index', compact('menuData')); }
将读取到的菜单进行循环展示:
@foreach($menuData as $item) <dl id="menu-admin"> <dt><i class="Hui-iconfont"></i>{{$item['name']}}<i class="Hui-iconfont menu_dropdown-arrow"></i></dt> <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的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。