Php 如何在Laravel Blade中将多个子行数据与父行一起添加

Php 如何在Laravel Blade中将多个子行数据与父行一起添加,php,laravel-6,Php,Laravel 6,我一直在尝试通过blade添加多个数据。在我的刀片表单中,我使用克隆,添加行。例如,一个请购单包含多个项目 我的刀片视图 刀片视图代码 <form autocomplete="off" method="POST" action="{{ route("requisition.store") }}" enctype="multipart/form-data"> @csrf <div class="form-group">

我一直在尝试通过blade添加多个数据。在我的刀片表单中,我使用克隆,添加行。例如,一个请购单包含多个项目

我的刀片视图

刀片视图代码

<form autocomplete="off" method="POST" action="{{ route("requisition.store") }}" enctype="multipart/form-data">
        @csrf
        <div class="form-group">
            <label class="required" for="purpose">Purpose</label>
            <input class="form-control" type="text" name="purpose" id="purpose" required>
            <span class="help-block"></span>
        </div>

        <div class="form-group">
            <label class="required" for="requisition_date">Date</label>
            <input class="form-control" type="date" name="requisition_date" id="requisition_date" required>
            <span class="help-block"></span>
        </div>

        <div class="form-group">
            <label class="required" for="requested_by">Released By</label>
            <input class="form-control" type="text" name="requested_by" id="requested_by" required>
            <span class="help-block"></span>
        </div>

        <table class="table table-bordered">
            <thead>
                <tr>
                    <th>Qty</th>    
                    <th>Unit</th>    
                    <th>Description</th>   
                    <th>
                        <a href="#" class="addRow"><i class="fas fa-plus"></i></a>    
                    </th> 
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>
                        <input type="number" name="rows[0][qty]" class="form-control quantity" required>  
                    </td>    
                    <td>
                        <input type="text" name="rows[0][unit]" class="form-control" required>  
                    </td>    
                    <td>
                        <input type="text" name="rows[0][description]" class="form-control" required>  
                    </td> 
                    <td>

                    </td>   
                </tr> 
            </tbody>    
        </table>



        <div class="form-group">
            <button class="btn btn-danger" type="submit">
                Save
            </button>
        </div>
    </form>
}

我的商店控制器代码中的问题是,它只添加一个项目,而不是多个项目。 我的模型: 申请表=‘id’、‘目的’、‘申请日期’、‘申请人’、‘申请日期’ 请购单项目表='id','请购单id','qty','unit','description'

dd($行)结果


我认为最简单的方法是像这样使用附加输入和刀片输入

name="qty[]"
而不是

name="rows[0][qty]"
在控制器循环中,通过始终添加的一个字段。比如,

for($i = 0; $i < sizeof($request->qty); $i++)
    {
        RequisitionItem::insert([
            'requisition_id' => $requisition->id,
            'qty' => $request->qty[$i],
            'unit' => $request->unit[$i],
            'description' => $request->description[$i]
        ]);
    }
for($i=0;$iqty);$i++)
{
requisionItem::insert([
'请购单id'=>$requision->id,
“数量”=>$request->数量[$i],
“单位”=>$request->unit[$i],
'description'=>$request->description[$i]
]);
}
您也可以按照此步骤操作

  for($i = 0; $i < sizeof($request->qty); $i++)
    {
        $items[] = [
            'requisition_id' => $requisition->id,
            'qty' => $request->qty[$i],
            'unit' => $request->unit[$i],
            'description' => $request->description[$i]
        ];
    }

  RequisitionItem::insert($items);
for($i=0;$iqty);$i++)
{
$items[]=[
'请购单id'=>$requision->id,
“数量”=>$request->数量[$i],
“单位”=>$request->unit[$i],
'description'=>$request->description[$i]
];
}
requisionItem::插入($items);

plz
dd($rows)
并发布。我发布您调用的$request->input('rows')的dd($rows)结果;但在您的应用程序中,我看不到任何输入名称为“行”HTML@BossPogs你的$rows只有一行,请检查你的js代码,它真的增加了更多的行来请求吗?我编辑我的问题,并显示我的js代码,如果我做的是正确的克隆。我只是想看看它是否正确
for($i = 0; $i < sizeof($request->qty); $i++)
    {
        RequisitionItem::insert([
            'requisition_id' => $requisition->id,
            'qty' => $request->qty[$i],
            'unit' => $request->unit[$i],
            'description' => $request->description[$i]
        ]);
    }
  for($i = 0; $i < sizeof($request->qty); $i++)
    {
        $items[] = [
            'requisition_id' => $requisition->id,
            'qty' => $request->qty[$i],
            'unit' => $request->unit[$i],
            'description' => $request->description[$i]
        ];
    }

  RequisitionItem::insert($items);