複数のチェックボックスの値と異なる入力値を全体としてデータベースに保存します
<p>データ/値をデータベースに挿入しようとしています。 </p>
<p>これは機能しますが、問題は、2 番目の値/チェックボックスのみを選択するたびに、他の入力値が最初の入力の値を取得することです。 </p>
<pre class="brush:php;toolbar:false;"><form action="{{url('/reservation')}}" method="post">
@csrf
<div class="行列-12""
<div>
<p class='mybox text-dark'><input type="checkbox" name="prod_name[]" value="JasminBooks"/>JasminBooks</p>
</div>
<div>
<input type="number" name="prod_qty[]" min="1" value="1"class="form-control ml-2">
</div>
<div class="行列-12""
<div>
<p class='mybox text-dark'><input type="checkbox" name="prod_name[]" value="KnowHowBooks"/>KnowHowBooks</p>
</div>
<div>
<input type="number" name="prod_qty[]" min="1" value="1"class="form-control ml-2">
</div>
</div>
</form></pre>
<p>これは私のコントローラ関数のコードです</p>
<pre class="brush:php;toolbar:false;">パブリック関数の予約(Request $request)
{
$data = 新しい予約;
$data->name = $request->name;
$data->email = $request->email;
$data->電話 = $request->電話;
$data->address = $request->address;
$data->date = $request->date;
$data->time = $request->time;
$products = null;
$checked_array = $_POST['prod_name'];
foreach($_POST['prod_name'] as $key => $value) {
if (in_array($_POST['prod_name'][$key], $checked_array)) {
$products .= $_POST['prod_qty'][$key]." ".$_POST['prod_name'][$key].", ";
}
}
$data->products = $products;
$data->save();
return redirect()->back();
}</pre>
<p>いつ</p>
<ol>
<li>最初のチェックボックスを選択して値 5 を入力すると、結果は「5 JasminBooks」になります。</p><p></li>
<li>両方のチェックボックスを選択し、最初のチェックボックスの隣の最初の入力ボックスと 2 番目のチェックボックスの隣の 2 番目の入力ボックスに数量 12 を入力すると、数量が 7 の場合、結果は「12 JasminBooks、7 KnowHowBooks、 " </li>
<li>しかし、2 番目のチェックボックスのみを選択し、数量入力ボックスに 13 を入力すると、結果は「1 KnowHowBooks」となり、2 番目に入力した値ではなく、最初に入力したデフォルト値が使用されます。数量 13 を入力します。入力ボックスに入力します。 </li>
</ol>
<p>コードに何を追加/変更すればよいですか? </p>