Public function demoList()//演示打印方法{$meutList = $this->getMenuList();echo "<pre>";print_r($meutList);echo "<pre>";die;}//----------------------------------// 获取菜单列表 - 获取全部菜单数据private function getMenuList(){//获取全部菜单列表数组$menuList = Db::name('system_menu')->field('id,pid,title,icon,href,target')->where('status', 1)->order('sort', 'desc')->select();$menuList = $this->buildMenuChild($menuList);return $menuList;}//创建递去函数方法 - 获取子菜单private function buildMenuChild($menuList,$pid = 0){//定义顶级pid为0$treeList = [];//定义空数组 存放列表foreach ($menuList as $v) { //数组foreach循环//pid = 0 筛选出全部顶级分类if ($pid == $v['pid']) {$node = $v;//将顶级节点进行保存//子节点进行递归处理 重新调用函数方法$child = $this->buildMenuChild($menuList,$v['id']);//参数1不变,传入全部菜单列表,参数2传入子菜单idif (!empty($child)) {//子菜单查询到 保存到$node数组中['child']字段$node['child'] = $child;}// todo 后续此处加上用户的权限判断$treeList[] = $node;//数组 循环添加}}return $treeList;//返回全部菜单数组}
wms_system_menu.sql //sql文件
