예제 #1
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     DB::table('seasons')->delete();
     Season::create(['country' => 'England', 'league' => 'Barclays Premier League', 'year' => 2014, 'number_of_teams' => 20, 'number_of_teams_to_cl' => 4, 'number_of_teams_to_el' => 2, 'number_of_teams_to_ld' => 3]);
     Season::create(['country' => 'Germany', 'league' => 'Bundesliga', 'year' => 2015, 'number_of_teams' => 18, 'number_of_teams_to_cl' => 3, 'number_of_teams_to_el' => 3, 'number_of_teams_to_ld' => 3]);
     Season::create(['country' => 'Russia', 'league' => 'Premier League', 'year' => 2015, 'number_of_teams' => 16, 'number_of_teams_to_cl' => 1, 'number_of_teams_to_el' => 3, 'number_of_teams_to_ld' => 2]);
 }
예제 #2
0
 /**
  * Store a newly created resource in storage.
  *
  * @param Request $request
  *
  * @return mixed
  */
 public function store(Request $request)
 {
     $this->validate($request, ['season' => 'required|unique:seasons']);
     Season::create($request->all());
     \Flash::success('Season added!');
     return redirect('admin/data-management/seasons');
 }
예제 #3
0
 /**
  * Store a newly created season.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $season = Season::create(['country' => $request->input('country'), 'league' => $request->input('league'), 'year' => $request->input('year'), 'number_of_teams' => $request->input('number_of_teams'), 'number_of_teams_to_cl' => $request->input('number_of_teams_to_cl'), 'number_of_teams_to_el' => $request->input('number_of_teams_to_el'), 'number_of_teams_to_ld' => $request->input('number_of_teams_to_ld')]);
     if ($request->has('link')) {
         // Example from football-data.org
         // England - Barclays Premier League - 2015
         // http://api.football-data.org/alpha/soccerseasons/398
         $link = $request->input('link');
         // Read data from link
         // $tmpTeamsFile = json_decode(file_get_contents($link."/teams"));
         // $tmpFixturesFile = json_decode(file_get_contents($link."/fixtures"));
         $base = base_path();
         $tmpTeamsFile = json_decode(file_get_contents($base . "/public/files/teams.json"));
         $tmpFixturesFile = json_decode(file_get_contents($base . "/public/files/fixtures.json"));
         $tmpTeams = $tmpTeamsFile->teams;
         $tmpFixtures = $tmpFixturesFile->fixtures;
         // Create teams
         foreach ($tmpTeams as $tmpTeam) {
             $team = Team::create(['name' => $tmpTeam->name, 'short_name' => $tmpTeam->code, 'season_id' => $season->id]);
             // Array of all teams from season
             $teams[] = $team;
         }
         // Create fixtures
         foreach ($tmpFixtures as $tmpFixture) {
             $home_team_name = $tmpFixture->homeTeamName;
             $away_team_name = $tmpFixture->awayTeamName;
             $home_team_index = $this->searchTeamIdByName($home_team_name, $teams);
             $away_team_index = $this->searchTeamIdByName($away_team_name, $teams);
             Fixture::create(['season_id' => $season->id, 'matchday' => $tmpFixture->matchday, 'home_team_id' => $teams[$home_team_index]->id, 'away_team_id' => $teams[$away_team_index]->id]);
         }
     } else {
         // Create teams
         for ($i = 1; $i <= $season->number_of_teams; $i++) {
             $team = Team::create(['name' => 'Team ' . sprintf("%02d", $i), 'short_name' => 'TN' . sprintf("%02d", $i), 'season_id' => $season->id]);
             $teams[] = $team;
         }
         // Create matchdays
         $tour = 1;
         $fixtures_in_tour = $season->number_of_teams / 2;
         for ($i = 1; $i <= $season->number_of_teams * ($season->number_of_teams - 1); $i++) {
             Fixture::create(['season_id' => $season->id, 'matchday' => $tour]);
             $tour = $i % $fixtures_in_tour == 0 ? ++$tour : $tour;
         }
     }
     // Create base league tables (tour #0)
     foreach ($teams as $team) {
         LeagueTable::create(['season_id' => $season->id, 'team_id' => $team->id]);
     }
     return response()->json(['success' => true]);
 }