public function crearTorneoFase($torneo, $torneo_fase)
 {
     $tipo_torneo = $torneo->tipo_torneo;
     if (is_null($torneo_fase)) {
         $tipo_torneo_fase_actual = $tipo_torneo->fases->where('fase_numero', 1)->first();
         $tipo_torneo_fase_siguiente = $tipo_torneo_fase_actual;
     } else {
         $tipo_torneo_fase_actual = $tipo_torneo->fases->where('fase_numero', $torneo_fase->fase_numero)->first();
         $tipo_torneo_fase_siguiente = $tipo_torneo_fase_actual->fase_siguiente;
     }
     if (!is_null($tipo_torneo_fase_siguiente)) {
         $new_toreno_fase = TorneoFase::firstOrCreate(['fase_numero' => $tipo_torneo_fase_siguiente->fase_numero, 'torneo_id' => $torneo->id, 'tipo_fase_id' => $tipo_torneo_fase_siguiente->tipo_fase_id]);
         $new_toreno_fase->cant_equipos = $torneo_fase->cant_clasificados;
         $new_toreno_fase->fase_anterior_id = $torneo_fase->id;
         $new_toreno_fase->nombre = $tipo_torneo_fase_siguiente->tipo_fase->nombre;
         $new_toreno_fase->ida_y_vuelta = $tipo_torneo_fase_siguiente->ida_y_vuelta;
         $new_toreno_fase->gol_visitante = $tipo_torneo_fase_siguiente->gol_visitante;
         $new_toreno_fase->cant_grupos = $tipo_torneo_fase_siguiente->cant_grupos;
         $new_toreno_fase->cant_interzonales = $tipo_torneo_fase_siguiente->cant_interzonales;
         $new_toreno_fase->cant_clasificados = $tipo_torneo_fase_siguiente->cant_clasificados;
         $new_toreno_fase->tipo_partido_definicion_id = $tipo_torneo_fase_siguiente->tipo_partido_definicion_id;
         $new_toreno_fase->save();
         for ($i = 1; $i <= $new_toreno_fase->cant_grupos; $i++) {
             $new_torneo_grupo = new TorneoGrupo();
             $new_torneo_grupo->orden = $i;
             $new_torneo_grupo->cant_equipos = $new_toreno_fase->cant_equipos_x_grupo;
             $new_torneo_grupo->fase_id = $new_toreno_fase->id;
             $new_torneo_grupo->save();
             $equipos_grupo = $grupos[$i]->equipos_grupo;
             for ($j = 1; $j <= $new_torneo_grupo->cant_equipos; $j++) {
                 $club_id = $equipos_grupo[$j];
                 $torneo_club = TorneoClub::with('club')->where('club_id', $club_id)->where('torneo_id', $torneo->id)->first();
                 $new_torneo_grupo_club = TorneoGrupoClub::firstOrCreate(['grupo_id' => $new_torneo_grupo->id, 'torneo_club_id' => $torneo_club_->id]);
             }
         }
         dd($tipo_torneo_fase_siguiente, $new_toreno_fase, $new_toreno_fase->grupos);
     } else {
         die('Forbidden.');
     }
 }
 public function armarPartidosInterzonalesFechas($id_torneo)
 {
     $torneo = Torneo::where("id", $id_torneo)->first();
     $partidos_interzonales = [];
     if (!is_null($torneo)) {
         $partidos_interzonales = array("torneo" => $torneo);
         $torneo_fase = TorneoFase::where("torneo_id", $id_torneo)->first();
         if ($torneo_fase->exists() and $torneo_fase->cant_grupos == 2) {
             $torneo_grupos = TorneoGrupo::where("fase_id", $torneo_fase->id)->get();
             $grupo1 = $torneo_grupos['0'];
             $grupo2 = $torneo_grupos['1'];
             $club_grupos1 = TorneoGrupoClub::with("torneo_club.club")->where("grupo_id", $grupo1->id)->get();
             $club_grupos2 = TorneoGrupoClub::with("torneo_club.club")->where("grupo_id", $grupo2->id)->get();
             $equipos = [];
             foreach ($club_grupos1 as $key => $club_grupo) {
                 //$equipos1 []=  $club_grupo->torneo_club->club;
                 $equipos1[] = $club_grupo->torneo_club;
             }
             foreach ($club_grupos2 as $key => $club_grupo) {
                 $equipos2[] = $club_grupo->torneo_club;
                 //$equipos2 []=  $club_grupo->torneo_club->club;
             }
             $cant_equipos1 = $grupo1->cant_equipos;
             $cant_equipos2 = $grupo2->cant_equipos;
             $partidos = [];
             for ($j = 0; $j < $cant_equipos1; $j++) {
                 for ($k = 0; $k < $cant_equipos2; $k++) {
                     //$this->crearPartidoIdaYVuelta($partidos, $iPartido, $equipo, $equipos[$k] );
                     //$this->crearPartidoClub($equipos[$j],$equipos[$k])
                     $partidos[] = ["l" => $equipos1[$j], "v" => $equipos2[$k]];
                 }
             }
             $partidos_interzonales["partidos"][] = ["grupo" => 'interzonales', "partidos" => $partidos];
         } else {
             $partidos_interzonales["partidos"][] = '';
         }
     }
     return $partidos_interzonales;
 }
Beispiel #3
0
 /**
  * Devuelve un arreglo cuyos indices son los ids de cada uno de los 
  * Clubes que forman el Grupo, y los valores son los respectivos nombres.
  *
  * @return a list of objects.
  */
 public function listClubesByFullName()
 {
     $items = TorneoGrupoClub::where('grupo_id', $this->id)->get()->sort(function ($club_a, $club_b) {
         $resultado = strcmp($club_a->full_name, $club_b->full_name);
         return $resultado;
     });
     $key = 'id';
     $value = 'full_name';
     return TorneoGrupo::getListFields($items, $key, $value);
 }