控制器
public function getMenu() { $stdData=array(); //处理权限数据 $menu=new MenuModel(); $stdData=$menu->getMenuList(); dd($stdData); return json(['code'=>200,'msg'=>'success','data'=>$stdData]); }
模型层
public function getMenuList() { $list=self::select(); if ($list) $list=$list->toArray(); //处理数据,转换成父子级结构 $menuList=$this->getTreeList($list); return $menuList; } public function getTreeList($data) { $nData=array(); foreach ($data as $k=>$v){ $nData[$v['id']]=$v; } $stdData=array(); //子级数据组装 foreach ($nData as $kk=>$vv){ if (isset($nData[$vv['pid']])){ $nData[$vv['pid']]['children'][]=&$nData[$kk]; }else{ $stdData[]=&$nData[$kk]; } } return $stdData; }