laravel动态读取用户菜单
2021/7/12 6:09:07
本文主要是介绍laravel动态读取用户菜单,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文目录
- 一、修改增加节点信息
- 二、基础模型添加数组多层级
- 三、权限(节点)模型进行菜单层级化
- 四、后台首页控制器修改
- 五、修改后台首页模版
- 六、效果
一、修改增加节点信息
按照如下表进行添加
二、基础模型添加数组多层级
/** * 数组多层级 * @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的路上,如果你觉得本文对你有所帮助的话,那就请关注点赞评论三连吧,谢谢,你的肯定是我写博的另一个支持。
这篇关于laravel动态读取用户菜单的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-17HarmonyOS NEXT开发实战:打造高效上拉刷新与下拉加载组件(一)空页面的设计与实现
- 2024-11-17职场毒瘤:无脑尊蠢老!我不反对尊老,我只是反对没有脑子的尊老!
- 2024-11-17顶级企业如何用数据脱敏保护用户隐私!
- 2024-11-16ShardingSphere 如何完美驾驭分布式事务与 XA 协议?
- 2024-11-16ShardingSphere如何轻松驾驭Seata柔性分布式事务?
- 2024-11-16Maven资料入门指南
- 2024-11-16Maven资料入门教程
- 2024-11-16MyBatis Plus资料:新手入门教程与实践指南
- 2024-11-16MyBatis-Plus资料入门教程:快速上手指南
- 2024-11-16Mybatis资料入门教程:新手必看指南