Laravel 5表格更新请求

时间:2015-05-26 20:53:42

标签: php laravel laravel-5

我不明白为什么这不起作用,我搜索论坛并阅读官方文档,显然我犯了一个愚蠢的错误:

public function rules()
{
    $customer = Customer::find($this->customers);
    return [
        'data.name'       => 'required|unique:customers,name,1'
    ];
}

这是我创建的CustomerUpdateFormRequest,我手动输入规则中为1的客户ID,也包括:'data.name' => 'required|unique:customers,name,'.$customer->id,

问题是它仍然没有通过唯一验证,即使在手动或动态输入客户ID之后,我也会给出客户已存在的错误。

我读了这个http://laravel.com/docs/5.0/validationhttps://laracasts.com/discuss/channels/requests/laravel-5-validation-request-how-to-handle-validation-on-update并且我'相信'我的代码是正确的,为什么不工作?

2 个答案:

答案 0 :(得分:1)

上面的代码工作得很好,没有语法错误或逻辑,问题出现在数据库中,在创建验证表单之前,有其他客户插入了相同的数据。

我不知道我是否应该删除此问题或将其保留在此处,无论如何,如果您有任何问题,请将代码保留为罚款请检查您的数据库。

谢谢!

答案 1 :(得分:1)

public function rules()
{

    $customer= $this->route('customer'); //$this->('route-name')

    return [
        'data.name'       => 'required|unique:customers,name,' . $customer->id
    ];
}