[Laravel]1回のsubmitで複数のデータ登録
解決したいこと
laravel6においてレシピ投稿アプリを作っております。
1つのレシピに複数の材料を1回のsubmitで登録したいのですが、詰まっています。
発生している問題
+ボタンを押したら入力フォームを増やせるように実装しています。
最後の1つだけが材料テーブルのMaterialsに登録されます。
おそらく配列にしたりするのかなと思ってますが思いつかずです💦
該当するソースコード
●データ送信箇所
creare.php
<div class="form-group"
>
<label>材料
<input class="form-control" type="hidden" name="recipe_id" value="">
<div class="materials">
<input class="form-control" type="name" name="material_name" placeholder="材料名">
<input class="form-control" type="text" name="amount" placeholder="分量">
<select class="form-control" name="unit">
@foreach($units as $unit)
<option value="{{ $unit->name }}">{{ $unit->name }}</option>
@endforeach
</select>
<input type="button" value="+" class="add pluralBtn">
<input type="button" value="-" class="del pluralBtn">
</div>
</label>
</div>
●コントローラーでの登録箇所
Recipecontroller.php
public function store(RecipeRequest $request)
{
$user = \Auth::user();
$path = $this->saveImage($request->file('image'));
$recipe = Recipe::create(
[
'user_id' => auth()->id(),
'name' => $request->name,
'category_id' => $request->category_id,
'image' => $path,
'process' => $request->process,
]);
$recipe->materials()->createMany([
[
'name' => $request->material_name,
'recipe_id' => $recipe->id,
'amount' => $request->amount,
'unit' => $request->unit,
],
]);
0