【问题标题】:Laravel Eloquent validation insert exception?Laravel Eloquent 验证插入异常?
【发布时间】:2015-10-16 05:52:10
【问题描述】:

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

类别表包含idcategory_nameuserIdcreated_Atupdated_At 列。

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

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

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);
    }

}
}

【问题讨论】:

  • 欢迎来到 StackOverflow。在此处提问时,请始终提供与该问题相关的示例代码,并附上您已经尝试过的解决方案列表
  • 我已经编辑了你大部分帖子的语法以使其更清晰,但我不明白你的最后一句话——“所以现在我的问题是当你进入我的表单类别时如何存在于“类别表”中。你能解释一下你想要做什么吗?向我们展示您的代码?

标签: php mysql validation laravel eloquent


【解决方案1】:

你可以这样制定规则:

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

【讨论】:

    猜你喜欢
    • 2020-01-06
    • 2017-12-10
    • 2019-08-01
    • 2016-07-01
    • 2015-09-19
    • 1970-01-01
    • 2017-03-22
    • 2016-03-16
    • 2017-11-17
    相关资源
    最近更新 更多