public function saveStudentSubject(Request $request) { $transcriptId = $request->input('transcriptId'); $transcript = Transcript::find($transcriptId); $chineseScore = $request->input('chinese'); $newSubject1 = new Subject(); $newSubject1->score = $chineseScore; $newSubject1->type = 1; $newSubject1->transcripts_id = $transcriptId; $newSubject1->save(); $transcript->total += $chineseScore; $transcript->save(); $mathScore = $request->input('math'); $newSubject2 = new Subject(); $newSubject2->score = $mathScore; $newSubject2->type = 2; $newSubject2->transcripts_id = $transcriptId; $newSubject2->save(); $transcript->total += $mathScore; $transcript->save(); $englishScore = $request->input('english'); $newSubject3 = new Subject(); $newSubject3->score = $englishScore; $newSubject3->type = 3; $newSubject3->transcripts_id = $transcriptId; $newSubject3->save(); $transcript->total += $englishScore; $transcript->save(); // 理科三门 if ($request->has('physics')) { $physicsScore = $request->input('physics'); $newSubject4 = new Subject(); $newSubject4->score = $physicsScore; $newSubject4->type = 4; $newSubject4->transcripts_id = $transcriptId; $newSubject4->save(); $transcript->total += $physicsScore; $transcript->save(); } if ($request->has('biology')) { $biologyScore = $request->input('biology'); $newSubject4 = new Subject(); $newSubject4->score = $biologyScore; $newSubject4->type = 5; $newSubject4->transcripts_id = $transcriptId; $newSubject4->save(); $transcript->total += $biologyScore; $transcript->save(); } if ($request->has('chemistry')) { $chemistryScore = $request->input('chemistry'); $newSubject5 = new Subject(); $newSubject5->score = $chemistryScore; $newSubject5->type = 6; $newSubject5->transcripts_id = $transcriptId; $newSubject5->save(); $transcript->total += $chemistryScore; $transcript->save(); } // 文科三门 if ($request->has('history')) { $historyScore = $request->input('history'); $newSubject6 = new Subject(); $newSubject6->score = $historyScore; $newSubject6->type = 7; $newSubject6->transcripts_id = $transcriptId; $newSubject6->save(); $transcript->total += $historyScore; $transcript->save(); } if ($request->has('politics')) { $politicsScore = $request->input('politics'); $newSubject7 = new Subject(); $newSubject7->score = $politicsScore; $newSubject7->type = 8; $newSubject7->transcripts_id = $transcriptId; $newSubject7->save(); $transcript->total += $politicsScore; $transcript->save(); } if ($request->has('geography')) { $geographyScore = $request->input('geography'); $newSubject8 = new Subject(); $newSubject8->score = $geographyScore; $newSubject8->type = 9; $newSubject8->transcripts_id = $transcriptId; $newSubject8->save(); $transcript->total += $geographyScore; $transcript->save(); } // 班级排名算法 $noRanking = 1; $previousTranscripts = Transcript::where('examinations_id', '=', $transcript->examinations_id)->get(); foreach ($previousTranscripts as $previousTranscript) { // 第一步: 判断该transcription的主人是否和本学生属于同一个班级 $previousStudentSectionId = TeachingSection::where('users_id', '=', $previousTranscript->users_id)->select('sections_id')->get(); $currentStudentSectionId = TeachingSection::where('users_id', '=', $transcript->users_id)->select('sections_id')->get(); if ($previousStudentSectionId == $currentStudentSectionId) { //第二步: 如果他们同一个班级, 并且总分比本学生的总分高的话, 就往后排一名 if ($previousTranscript->total > $transcript->total) { $noRanking++; } } } $transcript->rank = $noRanking; $transcript->save(); // end班级排名算法 // 将两个变量从session中取出, 并得到, 然后将这两个变量传送到一个controller的action中, 以便能够返回到之前这次新建考试的所教班级的所有学生页面中 /* if (Session::has('newExamination')) { $newExamination = Session::get('newExamination'); } if (Session::has('allStudentsAllSections')) { $allStudentsAllSections = Session::get('allStudentsAllSections'); }*/ return redirect()->action('ExaminationController@returnAllSectionsEachTestPage'); // return redirect()->route('profile', [1]); // return Redirect::back(); // flash()->overlay('老师你好,已经成功记录该班级的学生成绩', '成功'); // return view('dashboard.dashboard'); // return redirect('/createNewTest'); // return Redirect::intended('/'); // return Redirect::action('ExaminationController@createNewTest'); // YourController@store /* if (Session::has('backUrl')) { Session::keep('backUrl'); } return ($url = Session::get('backUrl')) ? Redirect::to($url) : Redirect::view('/dashboard'); // : Redirect::route('any.named.route');*/ }