public function getCambiosAttribute() { //DB::enableQueryLog(); /*$cambios = PartidoCambio::with("jugador_entra.jugador.jugador") ->with("jugador_entra.club.torneo_grupo_club.torneo_club.club") ->with("jugador_sale.jugador.jugador") ->with("jugador_sale.club.torneo_grupo_club.torneo_club.club") ->with("evento.partido.clubes") ->select('partidos_cambios.*') ->join('partidos_eventos','partidos_eventos.id','=','partidos_cambios.evento_id') ->where('partidos_eventos.partido_id',$this->id) ->get();*/ $cambios = PartidoCambio::select('partidos_cambios.*')->join('partidos_eventos', 'partidos_eventos.id', '=', 'partidos_cambios.evento_id')->where('partidos_eventos.partido_id', $this->id)->get(); // $cambios = $this->clubes->pluck('cambios')->flatten(); return $cambios; }
/** * Elimina un cambio, luego de eliminar recursivamente cualquier otro cambio del partido * que haya sido generado a partir de este. * * @param PartidoCambio $cambio : cambio a eliminar */ protected function eliminarPartidoCambio($cambio) { if ($cambio) { DB::transaction(function () use($cambio) { if (!is_null($cambio->cambio_consecuente)) { // Elimino el cambio que existe solo a partir de este $this->eliminarPartidoEvento($cambio->cambio_consecuente->evento); //$this->eliminarPartidoCambio($cambio->cambio_consecuente); } $cambio->forceDelete(); }); } }