/** * 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); } }
public function store(Request $request) { DB::transaction(function () use($request) { $equipe = new Equipe(); $equipe->nome = $request->nome; $equipe->sigla = $request->sigla; $equipe->email = $request->email; $equipe->data_fundacao = $request->data_fundacao; $equipe->save(); if (!empty($request->emblema)) { $data = str_replace('data:image/png;base64,', '', $request->emblema); $data = str_replace(' ', '+', $data); $data = base64_decode($data); $publicPath = 'imagens/equipes/' . $equipe->id . ".png"; $file = public_path() . "/" . $publicPath; file_put_contents($file, $data); $equipe->emblema = $publicPath; $equipe->save(); } }); }