private function tableSeed() { $allUsers = User::all(); $adminUsers = User::where('username', 'LIKE', '%2%')->get(); $staffUsers = User::where('username', 'NOT LIKE', '%2%')->get(); foreach ($adminUsers as $user) { $user->roles()->sync([Role::whereName('admin')->first()->id]); } foreach ($staffUsers as $user) { $user->roles()->sync([Role::whereName('staff')->first()->id]); } foreach ($allUsers as $user) { $user->roles()->attach(Role::whereName('user')->first()->id); } }
private function tableSeed() { $adminCapabilities = Capability::all(); $userCapabilities = Capability::whereIn('name', ['login', 'logout', 'access_admin_dashboard'])->get(); $staffCapabilities = Capability::whereIn('name', ['login', 'logout', 'access_admin_dashboard', 'update_user_profile', 'update_user_password'])->get(); $admins = Role::whereName('admin')->get(); $staff = Role::whereName('staff')->get(); $users = Role::whereName('user')->get(); foreach ($admins as $admin) { $admin->capabilities()->sync($adminCapabilities->lists('id')); } foreach ($staff as $staff) { $staff->capabilities()->sync($staffCapabilities->lists('id')); } foreach ($users as $user) { $user->capabilities()->sync($userCapabilities->lists('id')); } }
/** * @param $userId * @param $roleIds * * @return mixed */ public static function updateRoles($userId, $roleIds) { $user = self::findOrFail($userId); $defaultRoleId = [Role::whereName('user')->first()->id]; $user->roles()->sync(array_merge($roleIds, $defaultRoleId)); $user->raise(new UserRolesWereUpdated($user)); return $user; }