У меня есть поле name
в моей модели Client
, которое должно быть уникальным. Для метода store
у меня есть следующие правила:
array (
'token' => 'string|max:250',
'directory' => 'max:250',
'name' => 'required|string|max:250|unique:clients',
)
Для метода update
я изменил этот набор правил, чтобы игнорировать текущий идентификатор, чтобы избежать выявления дубликатов: $rules['name'] = $rules['name'] . ',id,' . $id;
Это создает следующий набор правил (для записи с идентификатором 105):
array (
'token' => 'string|max:250',
'directory' => 'max:250',
'name' => 'required|string|max:250|unique:clients,id,105',
)
Когда выполняется метод update
, во время проверки возвращается ответ The name has already been taken.
.
Я понимаю, что это хорошо обсуждаемый топи c, но считаю, что придерживаюсь правильного подхода. Может кто-нибудь указать на ошибку в моем логе c, пожалуйста?
Примечание: это работает на Laravel 5.8.