私はProduct & Priceモデルで作業しています。私の商品テーブルにはidとnameカラムがあり、pricesテーブルにはid、product_id、costとdateカラムがあります。 pricesテーブルのproduct_idは、productsテーブルのidを参照します。私のフォームは、各製品のフィールドを表示するので、ユーザーは時々価格を入力します。私の挑戦は、価格がproduct_idに対応するようにリクエストデータを処理する方法です。以下は、私は私のコードがスローこれまで当然のLaravel 5でフォーム入力フィールドとストア値を動的に追加
フォーム
<form class="form-horizontal" method="POST" action="{{ url('/home/prices') }}">
{{ csrf_field() }}
@if(isset($products) && !empty($products))
@foreach($products as $product)
<div class="form-group">
<div>
<input type="hidden" class="form-control" name="product_id[]" value="{{ $product->id }}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2" for="{{ $product->name }}">{{ ucwords($product->name) }}</label>
<div class="col-sm-3">
<input type="text" class="form-control" name="cost[]">
</div>
</div>
@endforeach
@else
Sorry, no product available currently.
@endif
<button type="submit" class="btn btn-default">Add</button>
</form>
PriceController
public function store(Request $request)
{
//dd($request);
foreach ($request->input('cost') as $cost) {
Price::create([
'product_id' => $request->product_id,
'date' => Carbon::now(),
'cost' => $cost,
'trend' => 0
]);
}
return redirect('/home');
}
を書かれているコードがありますこのエラーを解決する at Builder->insertGetId(array('product_id' => array('1', '2', '3'), 'date' => object(Carbon), 'cost' => '14.05', 'trend' => 0, 'updated_at' => '2017-08-07 11:21:47', 'created_at' => '2017-08-07 11:21:47'), 'id')
どうすれば修正できますか?