/**
* @param $data 数据(二维数组格式)
* @param $adminId 管理员ID
* @param $pid 权限的上级ID
* @param int $level 水平变量 默认为 1 自增。
* @return array|\Illuminate\Http\JsonResponse
* 左侧导航,运用无限极分类实现、(循环的方式)
*/
public function leftMenu($data, $adminId,$pid,$level = 1){
try{
$subs = array();
//使用递归方式,循环左侧导航。
foreach ($data $k => $v) {
if($v->pid == $pid){
$v->level=$level;
$subs[]=[
'id' => $v->id,
'admin_name' => $v->name,
'role_id' => $v->role_id,
'pid' => $v->pid,
'title' => $v->title,
'urls' => $v->urls,
'level' => $level
];
$subs = array_merge($subs,self::leftMenu($adminId,$v->id,$level+1));
}
}
return $subs;
}catch (\Exception $e){
return response()->json(['message' => $e->getMessage()]);
}
}
因为使用的是laravel框架 所以我在foreach 循环出来的数据是对象格式的数组 就用到了 ->