/** * Suspensiones del jugador generadas en el torneo. * * @return Collection(Suspension) */ public function getSuspensionesTorneoAttribute() { $suspensiones_torneo = Suspension::select('suspensiones.*')->join('partidos_eventos', 'partidos_eventos.id', '=', 'suspensiones.evento_id')->join('partidos', 'partidos.id', '=', 'partidos_eventos.partido_id')->join('torneos_fechas', 'torneos_fechas.id', '=', 'partidos.fecha_id')->where("suspensiones.socio_id", $this->socio_id)->where("torneos_fechas.torneo_id", $this->torneo->id)->get(); return $suspensiones_torneo; }
/** * Suspensiones que se le generaron al jugador a partir de un evento del partido asociado a el. * * @return Collection(Suspension) */ public function getSuspensionesPartidoAttribute() { $suspensiones_partido = Suspension::select('suspensiones.*')->join('partidos_eventos', 'partidos_eventos.id', '=', 'suspensiones.evento_id')->where('suspensiones.socio_id', $this->socio_id)->where('partidos_eventos.partido_id', $this->partido->id)->get(); /* $suspensiones_partido = new Collection(); $this->eventos->each( function ($evento) use ($suspensiones_partido) { $evento->sanciones->each( function ($suspension) use ($suspensiones_partido) { $suspensiones_partido->push($suspension); }); }); */ /* $suspensiones_partido = $this->eventos->filter(function ($item) { return (!is_null($item->suspension)); }); */ return $suspensiones_partido; }