/** * 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.'); }