所以我创建了一个表单,该表单将提交给两个单独的表。这是发票建设。每张发票都有可变的行数,因此我创建了两个表,一个用于发票,另一个用于每行。行通过外键绑定到发票表。
使用纯PHP,只需命名输入“name []”然后循环它们即可。但在Laravel,它似乎并不起作用。基本上,我有:
$invoice = new Invoice;
$invoice->fill($data);
$invoice->save();
for ($i = 0; $i < count($request->item); $i++){
$row = new InvoiceRow;
$row->fill(array('item' => $request->item[$i], 'description' => $request->description[$i], 'cost' => $request->cost[$i], 'quantity' => $request->quantity[$i], 'total' => $request->itemTotal[$i]));
$invoice->InvoiceRows()->save($row);
}
它将保存第一行,但不保存其他行。
编辑:这是一些标记,没有用于引导和验证的类。正在使用jQuery为该文档的每个必需行克隆该行。
<tr class="item-row">
<td> class="form-control form-inline item-name" name="item[]">
</td>
<td>
<input type="text" name="description[]">
</td>
<td>
<input type="number" name="cost[]">
</td>
<td>
<input name="quantity[]">
</td>
<td>
<input type="number" name="itemTotal[]">
</td>
</tr>
答案 0 :(得分:1)
迭代该对象,例如
$name = $request->name; //here name is the name of your form's name[] field
foreach($name as $names)
{
//do something
}