2015-08-08 34 views
1

多個輸入所以我創建了一個形式,將提交給兩個獨立的表。這是發票建設。每張發票都有可變數量的行,所以我創建了兩張表,一張用於發票,另一張用於每行。這些行通過外鍵綁定到發票表。請求數據與使用相同的名稱

純PHP它只是命名輸入「名稱[]」,然後通過他們循環的問題。但在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> 
+1

你將必須表明至少在HTML''

作爲自己的這段代碼非常少SENCE的例子。另外什麼是'$ data' – RiggsFolly

+0

@RiggsFolly我從表格中添加了表格行,我正在使用 –

回答

1

遍歷該對象e.g

$name = $request->name; //here name is the name of your form's name[] field 

foreach($name as $names) 
{ 
//do something 
} 
+0

我仍然只獲得第一行。它看起來只有第一行實際上發佈。如果我print_r($ request-> name),我只得到Array([0] =>'item name') –

+0

你沒有一個名爲「name」的表單域,你有item [] description [] cost [] quantity [] itemTotal []所以選擇其中的一個迭代 –

+0

是的,我實際上在循環中使用request ['item'],因爲某些原因,我剛剛在原始文章中放了'name'。以同樣的方式,我把$數據,而不是實際把數組我填充每一行。我現在改變它 –

相關問題