adminRoleMenus = $adminRoleMenus; return $this->getMenuTreeList(); } /** * 获取菜单 * @param array $menus_id * @return array */ public function getMenuTreeList(array $menus_id = []): array { $model = AdminMenu::query(); if ($menus_id) { $model->wherein('id', $menus_id); } $list = $model->orderBy('order') ->orderBy('id') ->select() ->get() ->toArray(); return generate_tree($list, 0, $this->adminRoleMenus); } /** * 获取用户菜单 * @param $user_id * @return array */ public function getUserMenuTreeList($user_id): array { $AdminUsers = AdminUsers::find($user_id); $roles_id = $AdminUsers->roles()->where('status', 1)->pluck('id')->toArray(); if (!$roles_id) { return []; } $AdminRoles = AdminRoles::find($roles_id[0]); $menus_id = $AdminRoles->menus()->where('status', 1)->pluck('id')->toArray(); if (!$menus_id) { return []; } return $this->getMenuTreeList($menus_id); } }