簡體   English   中英

laravel 5.3-多行插入數據庫表

[英]laravel 5.3 - multiple rows insert to database table

我試圖將雄辯的模型中的多個子項目添加為數組,但無法這樣做。

視圖:

  <div class="row">
    <div class="col-md-6">
      <form class="" action="{{route('production.update', $rm->id)}}" method="post">
        <input name="_method" type="hidden" value="PATCH">
        {{csrf_field()}}

        <!-- <input type="hidden" name="product_id" id="product_id" class="form-control" value="{{$rm->id}}"> -->

        <div class="form-group{{ ($errors->has('batch_id')) ? $errors->first('title') : '' }}">
          <lable>Batch ID</lable>
          <input type="text" name="batch_id" id="batch_id" class="form-control" value="{{$rm->product_id}}" readonly="">
          {!! $errors->first('wastage','<p class="help-block">:message</p>') !!}
        </div>

        <div class="form-group{{ ($errors->has('item_id')) ? $errors->first('title') : '' }}">
          <lable>Item Name</lable>

          <input type="hidden" name="item_id" id="item_id" class="form-control" value="{{$rm->item_id}}" readonly="">

          <input type="text" class="form-control" value="{{$rm->item->item_name}}" readonly="">
          {!! $errors->first('wastage','<p class="help-block">:message</p>') !!}
        </div>

        <div class="form-group{{ ($errors->has('rquantity')) ? $errors->first('title') : '' }}">
          <lable>Quantity (Kg)</lable>
          <input type="text" name="rquantity" id="rquantity" class="form-control" value="{{$rm->quantity}}" readonly="">
          {!! $errors->first('wastage','<p class="help-block">:message</p>') !!}
        </div>

        <div class="form-group{{ ($errors->has('')) ? $errors->first('title') : '' }}">
          <lable>Packing</lable>

          @foreach($subitem as $sub)

          <div class="row">
            <div class="col-md-4">
              <input type="checkbox" name="subitem[{{$sub->id}}]['subitem_id']" value="{{$sub->id}}">  {{$sub->subitem_name}}<br><br>

            </div>

            <div class="col-md-4">

              <input type="text" name="subitem[{{$sub->id}}]['qty']" id="qty" class="form-control" placeholder="Entire Qty">
              {!! $errors->first('qty','<p class="help-block">:message</p>') !!}
            </div>


          </div>

          @endforeach


        </div>



        <div class="form-group">
          <input type="submit" class="btn btn-primary" value="Add">
        </div>
      </form>
    </div>
  </div>

控制器:

public function update(Request $request, $id)
{
    $result = Production::findOrFail($id);

    foreach($request->subitem as $key=>$row)
    {
        //print_r($request->subitem);exit;

        $items = new Itempacking;

        $items->batch_id          = $result->product_id;
        $items->item_id           = $result->item_id;
        $items->rquantity         = $result->quantity;
        $items->product_id        = $result->id;

        $items->subitem_id        = $row['subitem_id'];
        $items->qty               = $row['qty'];
        $items->status            = 1;  

        $items->save();

        $items='';
    }
}

當我取消注釋此行時print_r($request->subitem); exit; print_r($request->subitem); exit; 我可以看到這樣的:

Array ( 
    [3] => Array ( 
        ['subitem_id'] => 3 
        ['qty'] => 2 
    ) 
    [4] => Array ( 
        ['subitem_id'] => 4 
        ['qty'] => 3 
    )
)

但是當我評論並嘗試將數據發送到表時,它不起作用。 它給出了這個信息

未定義的索引:subitem_id

不要在HTML代碼中為數組鍵插入“”。您可以將請求打印到詳細信息。

從取代

subitem[{{$sub->id}}]['subitem_id']
subitem[{{$sub->id}}]['qty']

subitem[{{$sub->id}}][subitem_id]
subitem[{{$sub->id}}][qty]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM