public static function get($idContest) { $concursantes = User::where('rol', 3)->get(); $contest = array(); foreach ($concursantes as $equipo) { $problemas = Scoreboard::getProblems($idContest, $equipo->id); $ans = (object) array('nombre' => $equipo->name, 'problemas' => $problemas, 'pena' => Scoreboard::getPenalizacion($equipo->id, $idContest), 'resueltos' => Scoreboard::getResueltos($idContest, $equipo->id)); array_push($contest, $ans); } /* Ordenar Score */ usort($contest, function ($a, $b) { if ($a->resueltos == $b->resueltos) { if ($a->pena == $b->pena) { return 0; } return $a->pena < $b->pena ? -1 : 1; } return $a->resueltos >= $b->resueltos ? -1 : 1; }); return $contest; }
public function showScore($id) { $contest = Concurso::find($id); $problemas = $contest->problems()->get(); $score = Scoreboard::get($id); return view('contest/score', ['contest' => $contest, 'num' => count($problemas), 'score' => $score]); }