Laravel 5.3 - Уникальное поле применяет правило при обновлении

Я создаю CRM внутри Laravel 5.3. У меня есть rule в моем массиве ClientRequest rules

'company_name' => 'required|unique:clients',

Это означает, что название компании для добавляемого клиента должно быть уникальным в базе данных. Это работает, однако, когда я пытаюсь обновить уже существующий клиент, выдается ошибка о том, что название компании должно быть уникальным.

Я пытался сделать 'company_name' => 'required|unique:clients,company_name,{$this->client_uid},client_uid',

Поскольку client_uid отправляется через мой PATCH запрос. Я пытался сделать так, чтобы если client_uid, отправленное с формой, соответствовало client_uid записи, просто проигнорировать ошибку, но я не могу заставить этот бит работать.

Любые идеи?

Энди


person Andy Holmes    schedule 03.10.2016    source источник
comment
laracasts.com/ обсудить/каналы/запросы/   -  person Pradyut Manna    schedule 03.10.2016
comment
@PradyutManna это не помогает   -  person Andy Holmes    schedule 03.10.2016


Ответы (1)


Попробуйте сделать свои одинарные кавычки, двойные кавычки. Если вы используете одинарные кавычки, он не распознает $this->client_uid как php.

'company_name' => "required|unique:clients,company_name,{$this->client_uid},client_uid"

Другой вариант может быть (но я предпочитаю вышеизложенное):

'company_name' => 'required|unique:clients,company_name,'.$this->client_uid.',client_uid'
person Rick    schedule 03.10.2016
comment
Всегда самые простые вещи кажутся. Двойные кавычки сработали, спасибо - person Andy Holmes; 03.10.2016