我有一个产品表和唯一列,但是当我尝试更新它时却失败,并向我显示唯一错误消息。我试图做出一些忽略的操作,但不起作用。
$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'
]);
非常感谢您!
答案 0 :(得分:1)
您可以忽略这样的字段
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'
]);
答案 1 :(得分:0)
忽略它不是正确的方法。您出于某种原因使用验证。
要进行更新,只需将产品ID从引号中删除:
'unique_code' => 'required|unique:products,unique_code,'. $product->id,