Как обновить уникальное поле в коллективе Laravel?

У меня есть пользовательская панель администратора, где администратор может создавать обновлений пользователей, а у пользователей есть уникальное поле электронной почты. При обновлении, когда я не хочу менять адрес электронной почты, все должно быть так, как есть. но выкидывает мне ошибку вроде: The email has already been taken.

Я уже попробовал:

  1. Как предотвратить вставку электронной почты, если она уже существует с определенным идентификатором в laravel?

  2. https://laravel.com/docs/5.2/validation

и мое правило модели пользователя

'email' => 'required|unique:users,email,{$user->id}'

чего мне здесь не хватает? пожалуйста помоги

1 ответ

Если пользователь изменяет только поле имени, а не поле электронной почты, вы не хотите, чтобы выдавалась ошибка проверки, поскольку пользователь уже является владельцем адреса электронной почты.

Вы можете использовать как:

'email' => [
        'required',
        Rule::unique('users')->ignore($user->id),
,

Читайте в разделе " Принудительное использование уникального правила игнорирования данного идентификатора": ССЫЛКА

Другие вопросы по тегам