authGroupModel = new AuthGroupModel(); $this->authGroupAccessModel = new AuthGroupAccessModel(); $this->authRuleModel = new AuthRuleModel(); parent::__construct($app); } private function loadRuleTreeByAdminId(int $adminId) { $access = $this->authGroupAccessModel->where([ ['is_delete', '=', 0], ['uid','=',$adminId] ])->find(); if ($access->group_id > 0) { $group = $this->authGroupModel->where([ ['is_delete','=', 0], ['id', '=', $access->group_id] ])->find(); if ($group) { $rules_str = $group->rules; if($rules_str == "*"){ $rules = $this->authRuleModel->where('is_delete', 0)->select(); } else { $rules = $this->authRuleModel->where([ ['is_delete','=', 0], ['id', 'in', explode(',',$rules_str)] ])->select(); } 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(); } }