こちらのサイトを真似して、複数の入力フォームの値を
配列に入れて保存できるようにしました。
1. nameプロパティに配列を指定する
create_blade.php
<form action ="{{ route('books.store') }}" method="post" enctype="multipart/form-data">
@csrf
<dl>
<dt>表紙</dt>
<dd><input type="file" name="image[]"></dd>
<dt>タイトル</dt>
<dd><input type = "text" name="title[]"></dd>
<dt>著者</dt>
<dd><input type = "text" name="author[]"></dd>
<dt>出版日</dt>
<dd><input type = "date" name="published_on[]"></dd>
</dl>
<dl>
<dt>表紙</dt>
<dd><input type="file" name="image[]"></dd>
<dt>タイトル</dt>
<dd><input type = "text" name="title[]"></dd>
<dt>著者</dt>
<dd><input type = "text" name="author[]"></dd>
<dt>出版日</dt>
<dd><input type = "date" name="published_on[]"></dd>
</dl>
<button type="submit">登録する</button>
</form>
この時に送られてくるパラメータでtitle, authorといったnameで指定した配列に
入力した値が入っている

2. 入力した値をコントローラで受け取って保存の処理をする
BookController.php
public function store(Request $request)
{
//配列を受け取る
$images = $request->file('image');
$titles = $request->title;
$authors = $request->author;
$publishedOns = $request->published_on;
//各値のセット, 保存をループ処理する
foreach ($titles as $key => $title){
$book = new Book();
$book -> title = $title;
$book -> author = $authors[$key];
$book -> published_on = $publishedOns[$key];
//画像の処理
$image = $images[$key];
$path = $image->store('public/images');
$book->image = $path;
$book -> save();
}
return redirect(route('books.index'));
}
受け取った配列をforeachを使って、データを1つずつ取り出し、
それぞれのデータを使って、データベースに新しいレコードを作成・保存する

