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

时间:2016-10-03 14:34:38

标签: php laravel request laravel-5.3

我在Laravel 5.3中构建CRM。我的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匹配,则忽略错误,但我无法使该位工作。

有什么想法吗?

安迪

1 个答案:

答案 0 :(得分: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'