load->database(); } /*********************** * 角色模型部分 ************************/ /** * 获取所有角色列表 */ function getRoleList() { $sql = "SELECT r.* FROM sys_role r ORDER BY r.listorder"; $query = $this->db->query($sql); return [ "items" => $query->result_array(), "total" => count($query->result_array()) ]; } /** * 获取所有菜单并加入对应的权限id */ function getAllMenus() { $sql = "SELECT p.id perm_id, m.* FROM sys_menu m, sys_perm p WHERE p.perm_type = 'menu' AND p.r_id = m.id ORDER BY m.listorder"; $query = $this->db->query($sql); return $query->result_array(); } /** * 获取所有角色列表 带perm_id */ function getAllRoles() { $sql = "SELECT r.*, p.id perm_id FROM sys_role r, sys_perm p WHERE r.id = p.r_id AND p.perm_type = 'role' ORDER BY r.listorder"; $query = $this->db->query($sql); return [ "items" => $query->result_array(), "total" => count($query->result_array()) ]; } function getRoleMenu($RoleId) { $sql = "SELECT p.id perm_id, m.* FROM sys_menu m, sys_perm p, sys_role_perm rp WHERE rp.perm_id = p.id AND p.perm_type = 'menu' AND p.r_id = m.id AND rp.role_id = ". $RoleId ." ORDER BY m.listorder"; $query = $this->db->query($sql); return $query->result_array(); } /** * 获取角色拥有的角色权限 * @param $RoleId * @return mixed */ function getRoleRole($RoleId) { $sql = "SELECT p.id perm_id, r.* FROM sys_role r, sys_perm p, sys_role_perm rp WHERE rp.perm_id = p.id AND p.perm_type = 'role' AND p.r_id = r.id AND rp.role_id =". $RoleId . " ORDER BY r.listorder"; $query = $this->db->query($sql); return $query->result_array(); } /** * 根据 角色ID 获取该角色所拥有的权限 * [ * ['role_id'=> 1, 'perm_id'=>1] * ... * ] */ function getRolePerm($RoleId) { $sql = "SELECT role_id, perm_id FROM sys_role_perm WHERE role_id =" . $RoleId; $query = $this->db->query($sql); return $query->result_array(); } /*********************** * 角色模型部分结束 ***********************/ }