タイトルが大変残念です。私は言葉でそれを置く方法を知らない。ここでは、複数のチェックボックスがあり、値はデータベースから取得され、すべてのチェックボックスには、ユーザーが低、中、高に変更できる選択/ドロップダウンがあります。彼はそれを更新することができました。だから私の問題は、アップデートが機能していない、ドロップダウン/選択はオプションの最初の項目を返すだけです。 btw、彼は一度に複数のアイテムを実際に変更することができました。ここチェックボックス(Laravel)からアイテムを更新する
は私のhtml
<form method="post" action="{{route('allergies.update', ['id'=>Auth::user()->id])}}" enctype="multipart/form-data">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
@foreach($userallergens as $aller)
<br>
<input type="hidden" name="ua_id" value="{{$aller->ua_id}}">
<select name="tolerance[]">
<option value="Low">Low</option>
<option value="Medium">Medium</option>
<option value="High">High</option>
</select>
<label style="color:black" name="allergen[]" value="{{$aller->ua_id}}">
{{ $aller->allergen_name}}</label>
@endforeach
</form>
とここに私のコントローラは
だpublic function update2(Request $request, $id){
$userid = Auth::id();
$user = User::find($id);
for($j = 0; $j < count($request['tolerance']); $j++) {
$user = UserAllergen::where('ua_id',$request['ua_id'])
->where('user_id', $user)
->update(['tolerance_level' => $request['tolerance'][$j]]);
// dd($request['ua_id'],$request['tolerance'][$j]);
}
return redirect()->route('user.profile', compact('id', 'user'));
}
まだ動作していますが、まだバグがあります。更新中ですが、アイテムが1つしかない場合、最初のアイテムは更新されません。 – naning14
あなたは何かを逃したと思います。それは仕事でなければなりません.. –
はい、それは動作しますが、リストの最初の項目は更新されません – naning14