gpt4 book ai didi

php - Laravel Eloquent 验证插入异常?

转载 作者:行者123 更新时间:2023-11-29 12:05:08 26 4
gpt4 key购买 nike

我创建了一个表单,在“类别”表中添加产品类别(例如糖产品或啤酒),并且每个用户都有自己的类别名称。

类别表包含列idcategory_nameuserIdcreated_Atupdated_At.

我已经进行了验证,一切正常。但现在我希望每个用户都有一个唯一的category_name。我已在 phpMyAdmin 中创建了此索引,并在(category_nameuserId)上创建了唯一索引。

所以我的问题是这样的:在填写表格时,假设您忘记并输入了一个类别两次...该类别存在于数据库中,并且 eloquent 向我抛出一个错误。我想要就像在验证中一样,当出现错误时将我重定向到我的情况下的/dash/warehouse 并说伙计,你正在尝试输入一个类别两次......请再考虑一下......或其他什么。我是 laravel 和 php 的新手,对我的语言感到抱歉,但对我来说很重要的是知道为什么会发生这种情况以及我如何解决这个问题。看看我的 Controller ,如果您需要更多东西,我会给您。

class ErpController extends Controller{
public function __construct()
{
$this->middleware('auth');
}

public function index()
{
return view('pages.erp.dash');
}

public function getWarehouse()
{
$welcome = Auth::user()->fName . ' ' . Auth::user()->lName;
$groups = Group::where('userId',Auth::user()->id)->get();
return view('pages.erp.warehouse', compact('welcome','groups'));


}

public function postWarehouse(Request $request)
{
$input = \Input::all();
$rules = array(
'masterCategory' => 'required|min:3|max:80'
);
$v = \Validator::make($input, $rules);
if ($v->passes()) {
$group = new Group;
$group->group = $input['masterCategory'];
$group->userId = Auth::user()->id;
$group->save();
return redirect('dash/warehouse');
} else {
return redirect('dash/warehouse')->withInput()->withErrors($v);
}

}
}

最佳答案

你可以制定这样的规则:

$rules = array(
'category_name' => 'unique:categories,category_name'
);

关于php - Laravel Eloquent 验证插入异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31629475/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com