/** * Update a role * @param $id * @param $data * @return mixed */ public function update($id, $data) { $role = $this->role->find($id); $role->update($data['name'], $data['permissions']); $this->role->persist($role); $this->role->flush(); return $role; }
/** * @param $userId * @param $data * @param $roles * @internal param $user * @return mixed */ public function updateAndSyncRoles($userId, $data, $roles) { $user = $this->user->find($userId); $user = $this->update($user, $data); if (!empty($roles) && is_array($roles)) { foreach ($roles as $id) { $role = $this->role->find($id); $user->assignRole($role); } } $this->user->persist($user); $this->user->flush(); return $user; }