// Provide controller methods with object instead of ID Route::model('campionati', 'Campionato'); Route::model('giornate', 'Giornata'); Route::model('squadre', 'Squadra'); Route::model('partite', 'Partita'); Route::bind('campionati', function ($value) { return Campionato::where('id', $value)->first(); }); Route::bind('squadre', function ($value) { return Squadra::whereId($value)->first(); }); Route::bind('giornate', function ($value) { return Giornata::whereId($value)->first(); }); Route::bind('partite', function ($value) { return Partita::whereId($value)->first(); }); Route::resource('campionati', 'CampionatiController'); Route::resource('giornate', 'GiornateController'); Route::resource('squadre', 'SquadreController'); Route::resource('partite', 'PartiteController'); Route::get('/importCalendar', function () { $importCalendar = new ImportCalendar(); $result = $importCalendar->importCalendarFromFile(); echo 'Result ->' . $result, '<br>'; }); Route::get('/updateResults', function () { $updateResults = new UpdateResults(); $result = $updateResults->updateDBFromCSV(); echo 'Result ->' . $result, '<br>'; });
protected function updateDB($array_results) { $cont_partite_aggiornate = 0; //ricava idcampionato $campionato = Campionato::where('div', $this->div_campionato)->where('stagione', $this->stagione_full)->first(); $idcampionato = $campionato->id; foreach ($array_results as $value) { //ricava id_squadracasa $squadra_casa = $value['HomeTeam']; $id_squadracasa = Squadra::where('campionato_id', $idcampionato)->where('nomecsv', $squadra_casa)->first()->id; //ricava id_squadratrasferta $squadra_trasferta = $value['AwayTeam']; $id_squadratrasferta = Squadra::where('campionato_id', $idcampionato)->where('nomecsv', $squadra_trasferta)->first()->id; //ricava id_partita $id_partita = Partita::where('campionato_id', $idcampionato)->where('id_squadracasa', $id_squadracasa)->where('id_squadratrasferta', $id_squadratrasferta)->first()->id; //verifica se la partita è già stata aggiornata, e in caso positivo va a quella successiva $giocata = Partita::where('id', $id_partita)->first()->giocata; if ($giocata) { continue; } //ricava la data in formato per mysql $data_csv = $value['Date']; //attuale formato dd/mm/yy $data_ok = date_create_from_format('d/m/y', $data_csv); $data_mysql = date_format($data_ok, 'Y-m-d'); //crea il record da scrivere $record_partita = array('giocata' => TRUE, 'data' => $data_mysql, 'fthg' => $value['FTHG'], 'ftag' => $value['FTAG'], 'ftr' => $value['FTR'], 'hthg' => $value['HTHG'], 'htag' => $value['HTAG'], 'htr' => $value['HTR']); //Match Statistics (Opzionali) if (isset($value['Attendance'])) { $record_partita['attendance'] = $value['Attendance']; } if (isset($value['Referee'])) { $record_partita['referee'] = $value['Referee']; } if (isset($value['HS'])) { $record_partita['hs'] = $value['HS']; } if (isset($value['AS'])) { $record_partita['as'] = $value['AS']; } if (isset($value['HST'])) { $record_partita['hst'] = $value['HST']; } if (isset($value['AST'])) { $record_partita['ast'] = $value['AST']; } if (isset($value['HHW'])) { $record_partita['hhw'] = $value['HHW']; } if (isset($value['AHW'])) { $record_partita['ahw'] = $value['AHW']; } if (isset($value['HC'])) { $record_partita['hc'] = $value['HC']; } if (isset($value['AC'])) { $record_partita['ac'] = $value['AC']; } if (isset($value['HF'])) { $record_partita['hf'] = $value['HF']; } if (isset($value['AF'])) { $record_partita['af'] = $value['AF']; } if (isset($value['HO'])) { $record_partita['ho'] = $value['HO']; } if (isset($value['AO'])) { $record_partita['ao'] = $value['AO']; } if (isset($value['HY'])) { $record_partita['hy'] = $value['HY']; } if (isset($value['AY'])) { $record_partita['ay'] = $value['AY']; } if (isset($value['HR'])) { $record_partita['hr'] = $value['HR']; } if (isset($value['AR'])) { $record_partita['ar'] = $value['AR']; } if (isset($value['HBP'])) { $record_partita['hbp'] = $value['HBP']; } if (isset($value['ABP'])) { $record_partita['abp'] = $value['ABP']; } //Quote medie Bookmakers Betbrain $record_partita['bbavh'] = $value['BbAvH']; $record_partita['bbavd'] = $value['BbAvD']; $record_partita['bbava'] = $value['BbAvA']; $record_partita['bbavover25'] = $value['BbAv>2.5']; $record_partita['bbavunder25'] = $value['BbAv<2.5']; //aggiorna la partita sul DB Partita::where('id', $id_partita)->update($record_partita); $cont_partite_aggiornate++; } return $cont_partite_aggiornate; }
protected function ricavaPartiteSquadra($id_squadracasa, $campionato_id) { $array_analisi_squadra = array(); $array_partite_casa = Partita::where('campionato_id', $campionato_id)->where('id_squadracasa', $id_squadracasa)->get(); foreach ($array_partite_casa as $partita) { $nomesquadra = Squadra::where('id', $partita->id_squadratrasferta)->first()->nomesquadra; $giornata = Giornata::where('id', $partita->giornata_id)->first()->giornata; if ($partita->giocata) { switch ($partita->ftr) { case 'H': $esito = 'V'; break; case 'D': $esito = 'N'; break; case 'A': $esito = 'P'; break; } $risultato = $partita->fthg . '-' . $partita->ftag; } else { $esito = null; $risultato = ' - '; } $array_analisi_squadra[$giornata] = array('squadra' => $nomesquadra, 'tipo' => 'Casa', 'esito' => $esito, 'risultato' => $risultato); } $array_partite_trasferta = Partita::where('campionato_id', $campionato_id)->where('id_squadratrasferta', $id_squadracasa)->get(); foreach ($array_partite_trasferta as $partita) { $nomesquadra = Squadra::where('id', $partita->id_squadracasa)->first()->nomesquadra; $giornata = Giornata::where('id', $partita->giornata_id)->first()->giornata; if ($partita->giocata) { switch ($partita->ftr) { case 'H': $esito = 'P'; break; case 'D': $esito = 'N'; break; case 'A': $esito = 'V'; break; } $risultato = $partita->ftag . '-' . $partita->fthg; } else { $esito = null; $risultato = ' - '; } $array_analisi_squadra[$giornata] = array('squadra' => $nomesquadra, 'tipo' => 'Trasferta', 'esito' => $esito, 'risultato' => $risultato); } ksort($array_analisi_squadra); return $this->formattaAnalisiPerTabella($array_analisi_squadra); }
protected function ricavaDatiPartiteInTrasferta($squadra, $giornata) { $campionato_id = $giornata->campionato_id; $idsquadra = $squadra->id; $idgiornata = $giornata->id; //imposta variabili $vinte = 0; $nulle = 0; $perse = 0; $gol_fatti = 0; $gol_subiti = 0; //----------------- $array_partite = Partita::where('campionato_id', $campionato_id)->where('giornata_id', '<=', $idgiornata)->where('giocata', TRUE)->where('id_squadratrasferta', $idsquadra)->get(); foreach ($array_partite as $partita) { switch ($partita->ftr) { case 'H': $perse++; break; case 'D': $nulle++; break; case 'A': $vinte++; break; } $gol_fatti = $gol_fatti + $partita->ftag; $gol_subiti = $gol_subiti + $partita->fthg; } $dati_casa = array('vinte' => $vinte, 'nulle' => $nulle, 'perse' => $perse, 'gol_fatti' => $gol_fatti, 'gol_subiti' => $gol_subiti); return $dati_casa; }
protected function scriviCalendarioSuDatabase($div_campionato) { //ricava idcampionato $campionato = Campionato::where('div', $div_campionato)->where('stagione', $this->stagione)->first(); $idcampionato = $campionato->id; //scrive tabella Squadre foreach ($this->arraySquadre as $value) { $record_squadra = array('campionato_id' => $idcampionato, 'nomesquadra' => $value, 'nomecsv' => $this->getCsvNameFromCalendarName($value)); Squadra::create($record_squadra); } //scrive tabella Giornate foreach ($this->arrayGiornate as $value) { $record_giornata = array('campionato_id' => $idcampionato, 'giornata' => $value['num'], 'data' => $value['data']); Giornata::create($record_giornata); } //scrive tabella Partite foreach ($this->arrayPartite as $value) { //ricava id_giornata $id_giornata = Giornata::where('campionato_id', $idcampionato)->where('giornata', $value['giornata'])->first()->id; //ricava id_squadracasa $id_squadracasa = Squadra::where('campionato_id', $idcampionato)->where('nomesquadra', $value['casa'])->first()->id; //ricava id_squadratrasferta $id_squadratrasferta = Squadra::where('campionato_id', $idcampionato)->where('nomesquadra', $value['trasferta'])->first()->id; $record_partita = array('campionato_id' => $idcampionato, 'giornata_id' => $id_giornata, 'id_squadracasa' => $id_squadracasa, 'id_squadratrasferta' => $id_squadratrasferta); Partita::create($record_partita); } }