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'