/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $this->validate($request, ['maxscore' => 'required|numeric|min:1|max:40']); $batch = Batch::findOrFail($id); $batch->maxscore = $request->maxscore; $batch->save(); foreach ($request->scores as $pupil_id => $score) { if ($score != "") { $submission = Submission::firstOrCreate(['pupil_id' => $pupil_id, 'batch_id' => $batch->id]); if ($submission->score != $score) { $submission->score = $score; $submission->save(); } } else { Submission::where('pupil_id', $pupil_id)->where('batch_id', $batch->id)->delete(); } } return redirect('circle/' . $batch->circle_id . '/analyze'); }