【问题标题】:undefine index in laravel 5.8 multiple text fields insertionlaravel 5.8中的未定义索引多个文本字段插入
【发布时间】:2019-08-28 21:14:58
【问题描述】:

在 laravel 5.8 多个文本字段插入中取消定义索引

我曾尝试一次将多个数据插入 mysql 表,但每次我点击提交按钮 laravel 一直告诉我未定义索引:product_sku.我尝试了很多方法来解决问题,但我无法解决它。

这是我的控制器

$random_sku= Str::random(10);

$productDetails= Product::with('attributes')->where(['id'=>$id])->first();

//$productsDetails= json_decode(json_encode($productsDetails));

if($request->isMethod('post')){
    $data=$request->all();
    foreach($data['product_sku'] as $key=>$value){
        if(!empty($value)){
            //Prevent SKU Duplication SKU Check
            $attCountSKUSeller=ProductAttributes::where('product_sku',$value)->count();
            if($attCountSKUSeller>0){
                return redirect('/seller-add-product-attributes/'.$id)->with('flash_message_error','product SKU already exists, please add another Product SKU!');
            }
            //Prevent Size Duplication Check
            $attrcountSizesSeller= ProductAttributes::where(['product_id'=>$id, 'product_size'=>$data['product_size'][$key]])->count();
            if($attrcountSizesSeller > 0){
                return redirect('/seller-add-product-attributes/'.$id)->with('flash_message_error','"'.$data['product_size'][$key].'" Size already exists for this product, please add another Size!');
            }

            $attribute=new ProductAttributes;
            $attribute->product_id=$id;
            $attribute->product_sku=$value;
            $attribute->product_size=$data['product_size'][$key];
            $attribute->product_price=$data['product_price'[$key];
            $attribute->product_colour=$data['product_colour'][$key];
            $attribute->product_stock=$data['product_stock'][$key];
            $attribute->save();
        }
    }
    return redirect('/seller-add-product-attributes/'.$id)->with('flash_message_success','Product(s) Attribute(s) have been Added Successfully');
}

return view('shop.seller_product_attributes')->with(compact('productDetails', 'random_sku'));

//return view('shop.seller_product_attributes');

这是我的看法:

<form class="card-body" action="{{url('/seller-add-product-attributes/'.$productDetails->id)}}" method="post">
    <input type="hidden" name="_token" value="{{csrf_token()}}">
    <div class="form-group" id="dynamic_form">
        <div class="row">
            <!-- <input type="hidden" name="product_sku" id="product_sku"  value="{{$random_sku}}">-->
            <div class="col-md-2 col-sm-2 col-lg-2 col-xs-2">
                <label for="product_price">Price</label>
                <input type="text" name="product_price[]" id="product_price" placeholder="Price" class="form-control mb-3" validate="number" >
            </div>
            <div class="col-md-2 col-sm-2 col-lg-2 col-xs-2">
                <label for="product_size">Size</label>
                <select class="browser-default custom-select custom-select mb-3" name="product_size[]" id="product_size" >
                    <option selected disabled>Select Size</option>
                    <option>Small</option>
                    <option>Big</option>
                    <option>Extra Large</option>

                </select>
            </div>

            <div class="col-md-2 col-sm-2 col-lg-2 col-xs-2">
                <label for="product_colour">Colour</label>
                <input type="text" name="product_colour[]" id="product_colour" placeholder="Colour" class="form-control mb-3" validate="name" >
            </div>
            <div class="col-md-2 col-sm-2 col-lg-2 col-xs-2">
                <label for="product_stock">Stock</label>
                <input type="number" name="product_stock[]" id="product_stock" placeholder="Quantity" class="form-control mb-3" >
            </div>

            <div class="button-group mt-4 my-2">
                <a href="javascript:void(0)" class="btn btn-primary  btn-sm" id="plus5">Add More</a>
                <a href="javascript:void(0)" class="btn btn-danger btn-sm" id="minus5">Remove</a>
            </div>
        </div>
    </div>
    <div class="row d-flex justify-content-center ">
        <button type="submit" class="btn btn-primary btn-block text-center mb-4 mx-2">Submit</button>
    </div>
</form>

我已经尝试了很多 laravel 辅助函数来执行此操作,例如 create(),它使用质量可分配、insert() .Pls,我想知道如何正确执行此操作,因为我已经在这件事上待了 4 天了.任何帮助将不胜感激。在此先感谢。

【问题讨论】:

  • 我删除了评论。还是一样
  • 我已经删除了评论还是一样
  • 请帮帮我,我过去四天一直在做这些

标签: laravel laravel-5.8


【解决方案1】:

这是一个相当简单的问题。您的视图中没有任何 product_sku 输入(已被注释掉)。

【讨论】:

    猜你喜欢
    • 2019-08-11
    • 1970-01-01
    • 2016-08-27
    • 1970-01-01
    • 2018-08-02
    • 2012-08-24
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多