一、修改增加节点信息
按照如下表进行添加
二、基础模型添加数组多层级
/**
* 数组多层级
* @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'));
}
五、修改后台首页模版
将读取到的菜单进行循环展示: