У меня возникает ошибка валидатора при попытке проверить форму, в которой «пользователь» может иметь много «электронных писем». Цель состоит в том, чтобы убедиться, что при обновлении «пользователя» все «электронные письма» различны и уникальны, но при редактировании, включающем два или более «электронных письма», валидатор выдает и не позволяет мне продолжить добавление или редактирование. user, потому что он видит электронные письма пользователя, которого я редактирую, это только в том случае, когда у «пользователя» есть два или более «электронных письма».
Электронные письма хранятся в отдельной таблице с внешним ключом user_id, который указывает на пользователя, с которым связаны электронные письма.
Вот текущий код правила
$rules += [
'user' => [
'required',
Rule::unique('users','name')->ignore($this->user),
],
'emails.*' => [
'distinct',
Rule::unique('emails','address')->ignore($this->user),
],
];
Это позволит мне добавить второе «электронное письмо» пользователю при редактировании или добавлении экранов, но при попытке редактирования, когда есть два или более, валидатор выдает.
Пожалуйста, укажите сообщение об ошибке в следующий раз






Вам нужно указать имя столбца, который нужно игнорировать в таблице электронных писем, попробуйте следующее:
Rule::unique('emails','address')->ignore($this->user->id, 'user_id')
Можете поделиться сообщением об ошибке?