當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Helper::calculate_position方法代碼示例

本文整理匯總了PHP中app\helpers\Helper::calculate_position方法的典型用法代碼示例。如果您正苦於以下問題:PHP Helper::calculate_position方法的具體用法?PHP Helper::calculate_position怎麽用?PHP Helper::calculate_position使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在app\helpers\Helper的用法示例。


在下文中一共展示了Helper::calculate_position方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: compute_result

 /**
  * compute averages and positions for students in class
  * @param  int $class_id class id
  * @return route    redirect to route
  */
 public function compute_result($class_id)
 {
     //get all students in this class
     $students = Student::where('class_id', $class_id)->get();
     //get the number of subjects for this class
     $number_of_subjects = count(studentClass::find($class_id)->subjects);
     $result_table = 'class_results_' . \Session::get('current_session') . '_' . \Session::get('current_term');
     $positions_table = 'class_positions_' . \Session::get('current_session') . '_' . \Session::get('current_term');
     //array to hold all students total scores
     $results = [];
     foreach ($students as $student) {
         $total_score = 0;
         $offered_subjects = Helper::get_offered_subjects($class_id, $student->id);
         foreach ($offered_subjects as $subject_id) {
             $subject = \DB::table($result_table)->where(['class_id' => $class_id, 'student_id' => $student->id, 'subject_id' => $subject_id])->first();
             $total_score += $subject->subject_total;
         }
         $results[$student->id] = $total_score;
     }
     $positions = Helper::calculate_position($results);
     foreach ($positions as $student_id => $position) {
         $total_score = 0;
         $offered_subjects = Helper::get_offered_subjects($class_id, $student_id);
         foreach ($offered_subjects as $subject_id) {
             $subject = \DB::table($result_table)->where(['class_id' => $class_id, 'student_id' => $student_id, 'subject_id' => $subject_id])->first();
             $total_score += $subject->subject_total;
         }
         $average = floatVal($total_score) / floatVal(count($offered_subjects));
         try {
             \DB::table($positions_table)->where(['class_id' => $class_id, 'student_id' => $student_id])->update(['total' => $total_score, 'average' => $average, 'position' => $position, 'status_id' => 6]);
         } catch (\Illuminate\Database\QueryException $e) {
             $errorCode = $e->errorInfo[1];
             // if($errorCode == 1050){
             //     session()->flash('flash_message', 'Result table for chosen session and term already exists.');
             //     return \Redirect::back()->withInput();
             // }
         }
     }
     return redirect()->route('results.result_sheet', array($class_id));
 }
開發者ID:umahatokula,項目名稱:academia,代碼行數:45,代碼來源:resultsController.php


注:本文中的app\helpers\Helper::calculate_position方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。