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'
我正在 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'