首頁 >後端開發 >php教程 >laravel如何判断是修改还是添加

laravel如何判断是修改还是添加

PHPz
PHPz原創
2016-06-06 20:31:152265瀏覽

laravel如何判断是修改还是添加

laravel如何判断是修改还是添加?

问题:

/**
     * 自定义验证规则rules
     *
     * @return array
     */
    public function rules()
    {
        return [
            'name'       => 'unique:products,name',
            'sort' => 'required|',
            'body'     => 'required|min:20',
            'price'  => 'required',
            'thumb'       => 'required',
            'status'      => 'boolean',
        ];
 
        return $rules;
    }

在这里验证了 name 是否重复, 在添加产品的时候做验证

但在修改产品的时候 也用到了该验证,想知道,修改产品的 产品名称 不变 会提醒产品名称重复了,

这里可以做判断吗 ?

方法:

/**
     * 自定义验证规则rules
     *
     * @return array
     */
    public function rules()
    {
        $rules = [
             'sort' => 'required|',
            'body'     => 'required|min:20',
            'price'  => 'required',
            'thumb'       => 'required',
            'status'      => 'boolean',
        ];
 
        //根据RESTful请求的方法来判断是新建还是更新,如果是PUT请求的话
        if($this->method() === "PUT"){
            // 更新产品信息的时候,你在后面可以限制一个id,这个时候如果name刚好在这个id里就不会提醒产品重复了
            // $product = ……
            $rules['name'] = 'unique:products,name,id,'.$product->id;
        }else{
 
            $rules['name'] = 'unique:products,name';
        }
 
        return $rules;
    }

可以改成这样。

推荐:《laravel开发

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn