php - 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'
]);
非常感谢!
解决方案
您可以忽略这样的字段
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'
]);
推荐阅读
- linux - 如何以非交互方式启用/禁用 Linux 无人值守升级
- excel - VBA 用户窗体组合框
- mercurial - 是否可以通过 mercurial 跟踪软链接(ln -s)的文件的内容?
- c# - 值不能为空。参数名称:实体使用 HTTPPOST 方法
- python - strptime - ValueError:时间数据 '02/08/18 10:47:43,907000000' 与格式 '%d/%m/%Y %H:%M:%S,%f' 不匹配
- python - 如何在此代码中使用更少的代码行?(出自著名的米棋寓言)
- android - 通过kotlin创建应用时出现非法参数异常
- angular - Angular 11 中的错误 - 试图从后面获取数据并在屏幕上实现它 - 无法读取未定义的属性“值”
- java - Android 10 打开失败:ENOENT(没有这样的文件或目录)
- java - Google Photo Api Upload Error : "code": 3, "Failed: There was an error while trying to create this media item