У меня есть модель EmailAddress со свойством 'email_address'.
Это свойство должно быть уникальным, поэтому я добавил правило в свой StoreEmailAddressRequest. Проблема возникает, когда я хочу обновить модель.
В моем UpdateEmailAdressRequest я добавил запись:
Rule::unique('email_addresses')->ignore($id);
Теперь, когда я пытаюсь обновить модель и не трогаю email_address, все работает правильно, потому что работает правило игнорирования.
Но если я попытаюсь изменить адреса электронной почты на любой из существующих в базе данных при обновлении модели, правило не будет работать, потому что $id будет соответствовать выбранному мной адресу электронной почты, а не тому, который был у меня в начало.
Так что я получаю Integrity constraint violation: 1062 Duplicate entry
Как я могу игнорировать только адрес электронной почты текущей модели, а не тот, который я выбираю при обновлении? Спасибо
Отвечает ли это на ваш вопрос? Модель обновления Laravel с уникальным правилом проверки для атрибута