权限表结构
create table `blog_auth` ( `id` int(11) unsigned not null auto_increme杭州技术职业学院nt comment '序号', `pid` int(11) not null comment '父级id', `auth_name` varchar(191) not null comment '权限名字', `auth_title` varchar(191) not null comment '权限标题', `auth_icon` varchar(191) default n国庆备忘录ull comment '权限图标', `auth_rule` varchar(191) not null comment '权限路径', `menu` tinyint(1) not null comment '菜单 1=>显示菜单,0=>不显示菜单', `debug` tinyint(1) not null comment '调试模式 1-->仅调试模式显示,0-->任何时候都显示', `create_by` int(11) not null comment '创建人', `update_by` int(11) not null comment '更新人', `create_time` int(11) not null comment '创建时间', `update_time` int(11) not null comment '更新时间', `delete_time` int(11) not null comment '删除时间', `sort` int(11) not null 强壮的反义词comment '排序字段', `status` tinyint(1) not null comment '状态', primary key (`id`) using btree) engine=myisam auto_increment=23 default chart=utf8 row_format=dynamic;
相关代码
/** * @title 菜单列表 * @param int $uid * @return array * @throws \think\db\exception\datanotfoundexception * @throws \think\db\exception\modelnotfoundexception * @throws \think\exception\dbexception */ public function getmenulist($uid = 0) {//展示只有菜单类型的权限列表 $auth_list_info = db::name('auth')->field(['id','pid','auth_title','auth_rule'])->lect(); if ($auth_list_info === null){return [];} $auth_list_info = is_array($auth_list_info) ? $auth_list_info : $auth_list_info->toarray(); return $this->getsonsinfo($auth_list_info); } /** * @title 菜单树生成 * @param array $items - 数据 * @param int $pid - 父级id的值 * @param int $deep - 深度 * @return array */ protected function ge我的周末英语tsonsinfo(array $items,$pid=0,$deep=0) { $lists = []; foreach ($items as $item){ if ($item['pid'] === $pid){ $item['deep'] = $deep; $item['son'] = $this->getsonsinfo($items,$item['id'],$deep+1); 父亲的身影 $lists[] = $item; } } return $lists; }
打印结果
array ( [0] => array ( [id] => 1 [pid] => 0 [auth_title] => 博客后台人员账户 [auth_rule] => backend/account/default [deep] => 0 [son] => array ( [0] => array ( [id] => 2 [pid] => 1 [auth_title] => 博客后台人员账户列表页 [auth_rule] => backend/account/index [deep] => 1 [son] => array ( ) ) ) ) [1] => array ( [id] => 9 [pid] => 0 [auth_title] => 博客后台首页 [auth_rule] => backend/index/default [deep] => 0 [son] => array ( [0] => array ( [id] => 10 [pid] => 9 [auth_title] => 博客后台首页 [auth_rule] => backend/index/index [deep] => 1 [son] => array ( ) ) ) ) [2] => array ( [id] => 19 [pid] => 0 [auth_title] => 博客后台文章管理 [auth_rule] => backend/article/default [deep] => 0 [son] => array ( [0] => array ( [id] => 20 [pid] => 19 [auth_title] => 博客后台文章列表页 [auth_rule] => backend/article/index [deep] => 1 [son] => array ( ) ) ) ) )
本文发布于:2023-04-07 13:06:46,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/e936b84019a40ddf9046c8e4a8e677ae.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:PHP无限极菜单.doc
本文 PDF 下载地址:PHP无限极菜单.pdf
留言与评论(共有 0 条评论) |