Когда я хочу, чтобы обновить пользователя это мои правила:Laravel проверки на обновление
private function validateUser(Request $request,$id)
{
$user = [
'firstname' => 'required|string|max:60',
'lastname' => 'required|string|max:60',
'phonenumber' => 'required|string|max:20',
'email' => 'required|unique:user,email,'.$id,
'company_id' => 'required|integer',
'role_id' => 'required|integer'
];
$validator = Validator::make($request->all(), $user);
if($validator->fails())
{
return $validator->errors();
}
return null;
}
Но 'email' =>'required|unique:user,email,'.$id,
часть не работает так, как я хочу. Потому что прямо сейчас, когда я обновляю пользователя, я получаю сообщение json:
{"user":{"email":["The email has already been taken."]}}
Я что-то не так?
Привет, что такое '$ id' переменной в правилах проверки? – Hammerbot
И, во-вторых, я полагаю, что ошибка возникает, когда пользователь не меняет свой адрес электронной почты при редактировании своей учетной записи? Но все работает, когда он меняет его? – Hammerbot
@EL_Matella $ id - это идентификатор пользователя, которого я хочу обновить. И да, ошибка там, когда пользователь не меняет свой адрес электронной почты. – Jamie