我无法使用foreach更新记录
ScoreController.php
public function updateScore(Request $request, $id)
{
foreach ($request->score as $key => $id) {
$scores = Score::find($request->score[$key]);
$scores->save();
}
//dd($request->all());
return redirect('/tabulation')->with('status', 'Score added!');
}
刃
@foreach ($scores as $score)
<label for="{{$score->id}}" value="{{$score->id}}"></label>
<input type="text" name="score[]" value="{{$score->score}}"/>
@endforeach
首先,<label>
元素没有value
属性:
<label for="{{ $score->id }}" value="{{ $score->id }}"></label>
value="{{ $score->id }}"
不执行任何操作,也不会发送到服务器。如果要将分数的ID发送到服务器,请在输入中传递该ID:
@foreach($scores AS $score)
<input type="text" name="scores[{{ $score->id }}]" value="{{ $score->score }}"/>
@endforeach
接下来,在您的控制器中,正确访问变量:
foreach($request->input("scores") AS $id => $scoreValue){
$score = Score::find($id);
$score->score = $scoreValue;
$score->save();
}
获得Call to a member function save() on null
的原因是,您试图找到ID为Score
包含的ID的$score->score
。您没有正确传递或引用id
。