/** * Inscrit une nouvelle équipe dans la table 'participants' */ public function store() { try { $equipe = new Equipe(); $equipe->equipe = true; $equipe->naissance = new DateTime(); $equipe->nom = Input::get('nom'); $equipe->numero = Input::get('numero'); $equipe->region_id = Input::get('region_id'); //une équipe participe à un et un seul sport. Contrairement à un participant qui peut faire plusieurs sports. $sport = Sport::findOrFail(Input::get('sport')); if ($equipe->save()) { if (Input::has('sport')) { $equipe->sports()->sync([$sport->id]); } else { $equipe->sports()->detach(); } // Redirection dans la page d'édition de l'équipe return Redirect::action('EquipesController@edit', $equipe->id)->with('status', 'L\'équipe a été initialisée! Sélectionnez maintenant les joueurs qui en font partie.'); } else { return Redirect::back()->withInput()->withErrors($equipe->validationMessages()); } } catch (Exception $e) { App: abort(404); } }
/** * Crée les entrées de la table Participants correspondant aux équipes */ public function creerEquipes() { $entrees = [["Grizzlis effarouchés", 1, 1, 1, [1, 2, 3]], ["Opossums déchaînés", 2, 1, 2, [4, 5, 6]], ["Antilopes frustrées", 3, 1, 3, [7, 8, 9]], ["Nasiques offensés", 4, 2, 1, []], ["Renards désinhibés", 5, 2, 1, [13, 14, 15]], ["Escargots enragés", 6, 2, 3, [16, 18, 19]], ["Méduses surexcitées", 7, 3, 2, [20, 21, 22]], ["Gousses d'aïl en furie", 8, 3, 1, [24, 25, 26]], ["Levures passives-agressives", 9, 5, 3, [1, 2, 3]], ["Streptocoques désagréables", 10, 4, 3, [4, 5, 6]]]; $sports = Sport::all(); $regions = Region::all(); $participants = Participant::all(); Equipe::where('equipe', '=', 1)->delete(); foreach ($entrees as $entree) { $equipe = new Equipe(); $equipe->nom = $entree[0]; $equipe->numero = $entree[1]; $equipe->region_id = $regions[$entree[2]]->id; $equipe->prenom = ""; $equipe->equipe = true; $equipe->sexe = $entree[1] % 2; $equipe->naissance = new DateTime(); $equipe->save(); $equipe->sports()->attach([$sports[$entree[3]]->id]); $index_membres = array(); for ($x = 0; $x < count($entree[4]); $x++) { array_push($index_membres, $participants[$entree[4][$x] - 1]->id); } $equipe->membres()->sync($index_membres); } }