【问题标题】:Laravel 5.3 - insert data to multiple rowsLaravel 5.3 - 将数据插入多行
【发布时间】:2017-05-19 09:42:26
【问题描述】:

我是 laravel 的新手。这是我的视图表单

<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="id" id="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('')) ? $errors->first('title') : '' }}">
          <lable>Packing</lable>

          @foreach($subitem as $sub)

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

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

              <input type="text" name="qty[i]" 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>
</div>

我需要做,当我点击添加按钮时,将batch_id、sub_id和数量插入多行。batch_id是相同的,数量、sub_id是不同的。请谁能帮我做吗?

我也需要更换我的控制器,

public function update(Request $request, $id)
{


    $items = new Itempacking;

    $items->batch_id                  = $request->batch_id;
    $items->sub_id                    = $request->sub_id
    $items->quantity                  = $request->quantity;

    $items->save();
}

有人可以帮忙吗?

【问题讨论】:

  • 尝试将 name="subitem[i]" 更改为 name="subitem[]"qty 并使用您在数组中传递数据,因此您需要 foreach 循环来添加多个数据。

标签: php laravel laravel-5.3


【解决方案1】:

像这样改变你的表单元素

 @foreach($subitem as $sub)

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

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

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


      </div>

      @endforeach

像这样循环$request->subitem

   `
         public function update(Request $request, $id)
        {

            foreach($request->subitem as $key=>$row)
            {

                $items = new Itempacking;

                $items->batch_id                  = $request->batch_id;
                $items->sub_id                    = $row['id']
                $items->quantity                  = $row['qty'];

                $items->save();

                $items='';
        }`

【讨论】:

  • 显示如下错误:尝试获取非对象的属性。 $row 是个问题
  • 改变这两行 $items->sub_id = $row['id'] $items->quantity = $request['qty'];
  • 未定义索引:id .. 发生这种情况
  • print_r($request->subitem);出口 ;并显示填充结果
  • 数组([$sub->id] => 数组(['id'] => 4 ['qty'] =>))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-09
  • 2020-08-08
  • 2021-09-10
  • 2020-08-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多