/**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(Request $request)
 {
     $team = new Team();
     $team->name = $request->get('name');
     $team->slug = $this->generateSlug($team->name);
     $team->email = $request->get('email');
     $team->phone = $request->get('phone');
     $team->save();
     $playersArray = $request->get('players');
     $i = 0;
     $players = null;
     foreach ($playersArray as $p) {
         $players[$i] = new Player();
         $players[$i]->name = $p;
         $players[$i]->team_id = $team->id;
         $i++;
     }
     $team->players()->saveMany($players);
     return redirect('teams');
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     for ($i = 0; $i < 10; $i++) {
         $faker = Faker\Factory::create();
         $team = new Team();
         $team->name = $faker->company;
         $team->slug = $faker->slug;
         //slug
         $team->email = $faker->email;
         //email
         $team->phone = $faker->phoneNumber;
         //phoneNumber
         $team->save();
         for ($i = 0; $i < 10; $i++) {
             $player = new Player();
             $player->name = $faker->name('male');
             $player->team_id = $team->id;
             $team->players()->save($player);
         }
     }
 }
 /**
  * Random draw teams for the event based on the players
  *
  * @return redirect
  **/
 public function drawTeams(Event $event, $createMatch = false)
 {
     // remove event teams first
     $event->teams()->delete();
     $playersPerTeam = $event->type == 'doubles' ? 2 : 1;
     $chunkedPlayers = $event->players->shuffle()->chunk($playersPerTeam);
     $teamNames = [];
     foreach ($chunkedPlayers as $chunk) {
         $team = new Team();
         do {
             $name = $team->getRandomTeamName();
         } while (in_array($name, $teamNames));
         $team->name = $name;
         $team->save();
         $team->players()->saveMany($chunk);
         $event->teams()->save($team);
         $teamNames[] = $team->name;
     }
     // should this redirect to create a match?
     if ($createMatch) {
         return redirect()->route('dashboard.events.addMatch', $event)->with('app-success', 'Teams have been generated randomly.');
     }
     return redirect()->route('dashboard.events.single', $event)->with('app-success', 'Teams have been generated randomly.');
 }