public static function getProblems($idContest, $idUser) { $problemas = DB::table('problemas')->join('contest_problem', 'contest_problem.problem_id', '=', 'problemas.id')->where('contest_problem.contest_id', '=', $idContest)->select('problemas.id', 'contest_problem.color')->orderBy('problemas.id', 'asc')->get(); $response = array(); foreach ($problemas as $problem) { $solucion = DB::table('envios')->where('envios.id_usuario', '=', $idUser)->where('envios.id_problema', '=', $problem->id)->where('envios.id_concurso', '=', $idContest)->where('envios.veredicto', '=', 1)->select('envios.*')->first(); $intentos = DB::table('envios')->where('envios.id_usuario', '=', $idUser)->where('envios.id_problema', '=', $problem->id)->where('envios.id_concurso', '=', $idContest)->where('envios.veredicto', '!=', 1)->select(DB::raw('count(envios.id) as intentos'))->first(); $color = Problem::getColor($idContest, $problem->id); $ans = (object) array("solucion" => $solucion, "intentos" => $intentos->intentos, 'color' => $color); array_push($response, $ans); } return $response; }