get(); } public function getRoleById($roleId) { return Role::with('permissions')->findOrFail($roleId); } public function delete($roleId) { $role = self::getRoleById($roleId); $role->permissions()->detach(); return $role->delete(); } public function create(array $roleDetails) { return Role::create($roleDetails); } public function update($roleId, array $newDetails) { $role = Role::find($roleId); $role->update($newDetails); return $role; } public function getPermissionListsArrangedByPrefix() { $permissions = self::findAll(); $routeNameArr = []; foreach ($permissions as $permission) { if (!is_null($permission->name)) { $routeName = explode('.', $permission->name); if (is_array($routeName) && !empty($routeName[0])) { $routeNameArr[$routeName[0]][$permission->id] = array_key_exists(1, $routeName) ? $routeName[1] : $routeName[0]; } } } return $routeNameArr; } }