欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-04-10 11:25:40
...

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开发