2017-03-02 33 views
1

我一直在嘗試從Laravel 5.3中的動態表單保存數據。但是我不能將它保存爲數組。該錯誤顯示在Laravel中保存來自動態表單的數據

參數1傳遞給照亮\數據庫\語法::參數()必須是類型陣列,串給定的...

形式:

<select class="form-control-sm" name="client_id[]"> 
<input type="text" class="form-control-sm" name="amount[]"> 

型號:

protected $fillable = ['client_id', 'amount']; 

public function client() 
{ 
    return $this->belongsTo('App\Client'); 
} 

控制器:

public function store(Request $request) 
{ 
    $count = Client::count(); 

    $payment = Payment::create(['amount' => $request->amount, 
           'client_id' => $request->client_id, 
           ]); 
    $payment->save(); 

    return redirect()->action('[email protected]'); 
} 

請幫忙。謝謝。

+0

對於哪一行你會得到錯誤? – Onix

+0

@Onix我不確定。它看起來像輸入類型是字符串,它應該是數組。我想我需要通過控制器存儲數組。 – Ahsan

+0

如何在輸入欄輸入金額? –

回答

3

您正在提交帶有文本字段和選擇框的數組,請嘗試 以下

public function store(Request $request) 
{ 
    $count = Client::count(); 
    foreach($request->client_id as $key=>$val){ 
    $payment = Payment::create(['amount' => $request->amount[$key], 
           'client_id' => $val, 
           ]); 
} 

return redirect()->action('[email protected]'); 
} 
+0

謝謝。這工作 – Ahsan

0

泰創造這樣的記錄:

$payment = Payment::create($request->input); 

,並更改您重定向行動,這一點:

View::make('path/to/view/') 

或只使用只是back();只是爲了測試它是否工作

相關問題