当我插入2个数据时,尝试catch总是返回错误

时间:2017-10-20 10:30:03

标签: php laravel controller laravel-5.4

我想添加功能检查数量库存如果我添加1个数据它的工作但是我插入2个数据之后会出现错误这里是我的控制器

 $i = 0;
        $sum = 0;
        $count = count($request->get('quantity_box'));
        $a = "INV".rand(10,99).$ldate.rand(10,9);
        $errors = false;

        try {
                DB::transaction(function () use ($count,$request,$a,$errors) {
                for ($i=0; $i < $count; $i++) {

                    print_r($i);
                    $warehouse_products_sell = New Warehouse_products_sell;
                    $id_w = $request->input('idw');
                    $id_c = $request->get('id_c')[$i];
                    $id_p = $request->get('id_p')[$i];
                    $qty = $request->input('quantity_box')[$i];
                    $price = $request->input('price')[$i];
                    $available = $this->check_stock($id_w, $id_p, $qty);   
                    if($available > 0){
                        $warehouse_products_sell->add_by = $request->input('add_by');
                        $warehouse_products_sell->save();
                    }else{
                       throw new \Exception('Error');
                    }
                }
            });
        } catch (\Exception $e) {
            $errors = $e;
        }

当我打印$errors它出现时。消息'错误'的'异常'

我尝试通过删除try catch并添加2个数据来检查此查询,它工作正常。不确定如何检查此错误

这是我的html表单输入

<input type="text" name="quantity_box[]" class="form-control" autofocus="" />

1 个答案:

答案 0 :(得分:0)

好吧我明白了

我的HTML中的

应该

<input type="text" name="quantity_box[0]" class="form-control" autofocus="" />