public function update($id, Request $request)
{
/** @var UserInterface $user */
$user = $this->handler->users()->with('groups', 'emails', 'accounts')->find($id);
if ($user === null) {
$e = new InvalidArgumentHttpException();
$e->setMessage('존재하지 않는 회원입니다.');
throw $e;
}
// default validation
$this->validate($request, ['email' => 'email', 'displayName' => 'required', 'rating' => 'required', 'status' => 'required', 'password' => 'password']);
$userData = $request->except('_token');
XeDB::beginTransaction();
try {
$this->handler->update($user, $userData);
} catch (\Exception $e) {
XeDB::rollback();
throw $e;
}
XeDB::commit();
return redirect()->back()->with('alert', ['type' => 'success', 'message' => '수정되었습니다.']);
}