2017-03-02 115 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
を動作するかどうかだけをテストするだけ back();を使用します

テキストフィールドと選択ボックスの配列を含むフォームを送信する場合は、 の下に

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

Tyが、このようなレコードを作成します。

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

をそして、あなたはこれにアクションをリダイレクト変更:

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

するか、ちょうどそれが

関連する問題