Heim >Backend-Entwicklung >PHP-Tutorial >laravel如何判断是修改还是添加

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

PHPz
PHPzOriginal
2016-06-06 20:31:152282Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn