首页 > 解决方案 > Laravel 忽略唯一验证

问题描述

我有一个产品表和唯一列,但是当我尝试更新它时失败并显示唯一的错误消息。我尝试做一些忽略,但不起作用。

 $attributes = $request->validate([
            'name' => 'required|min:3',
            'description' => 'nullable|min:3',
            'selling_price' => 'required|numeric',
            'purchase_price' => 'required|numeric',
            'quantity' => 'required|integer',
            'unit' => 'nullable',
            'stock_alert' => 'nullable|numeric',
            'unique_code' => "required|unique:products,unique_code,$product->id",
            'awb' => 'required|numeric'
        ]);

非常感谢!

标签: phplaravelvalidation

解决方案


您可以忽略这样的字段

use Illuminate\Validation\Rule;

 $attributes = $request->validate([
            'name' => 'required|min:3',
            'description' => 'nullable|min:3',
            'selling_price' => 'required|numeric',
            'purchase_price' => 'required|numeric',
            'quantity' => 'required|integer',
            'unit' => 'nullable',
            'stock_alert' => 'nullable|numeric',
            'unique_code' => [
                "required",
                Rule::unique('products', 'unique_cod')->ignore($product->id),
             ],
            'awb' => 'required|numeric'
        ]);

推荐阅读