Laravel 5.3 -唯一字段强制更新规则


Laravel 5.3 - Unique field enforces rule on update

我正在Laravel 5.3中构建一个CRM。我在ClientRequest rules数组中有一个这样的rule

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

这意味着您要添加的客户端的公司名称在数据库中必须是唯一的。这可以工作,但是当我尝试更新已经存在的客户端时,它会抛出一个错误,说公司名称需要是唯一的。

我试着做'company_name' => 'required|unique:clients,company_name,{$this->client_uid},client_uid',

因为client_uid是通过我的PATCH请求发送的。我试图这样做,如果client_uid被发送的形式匹配的client_uid的记录只是忽略错误,但我不能得到那位的工作。

任何想法?

安迪

试着用单引号,双引号。如果您使用单引号,它将无法识别$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'