authGroupModel = new AuthGroupModel(); $this->authGroupAccessModel = new AuthGroupAccessModel(); $this->authRuleModel = new AuthRuleModel(); parent::__construct($app); } private function loadRuleTreeByAdminId(int $adminId) { $access = $this->authGroupAccessModel->where('uid',$adminId)->find(); if ($access->group_id > 0) { $group = $this->authGroupModel->where('id',$access->group_id)->find(); if ($group) { $rules_str = $group->rules; $rules = []; if($rules_str == "*"){ $rules = $this->authRuleModel->select(); } else { $rules = $this->authRuleModel->select(explode(',',$rules_str)); } return $rules; } } return []; } public function index(Request $request) { $adminId = 10000; //$request->param(['adminId']); $rules = $this->loadRuleTreeByAdminId($adminId); View::assign('rules',recursion($rules,0)); return view(); } public function home() { return view(); } }