public function run() { // Suppression de la table 'terrains' de la base de données DB::table('terrains')->delete(); // Chargement de la liste des sports existants $sports = Sport::all(); // Création d'une liste de valeurs par défaut $items = [["Football 1 Cégep de Drummondville", "960 Rue Saint-Georges", "Drummondville", [0, 1, 2]], ["Football 2 Cégep de Drummondville", "960 Rue Saint-Georges", "Drummondville", [0, 1, 2]], ["Football 3 Cégep de Drummondville", "960 Rue Saint-Georges", "Drummondville", [0, 1, 2]], ["Soccer 1 Cégep de Drummondville", "960 Rue Saint-Georges", "Drummondville", [0, 1, 2]], ["Soccer 2 Cégep de Drummondville", "960 Rue Saint-Georges", "Drummondville", [0, 1, 2]], ["Football 1 Marie-Rivier", "265 Rue Saint Félix", "Drummondville", [0, 1, 2]], ["Football 2 Marie-Rivier", "265 Rue Saint Félix", "Drummondville", [0, 1, 2]], ["Football 3 Marie-Rivier", "265 Rue Saint Félix", "Drummondville", [0, 1, 2]], ["Soccer 1 Marie-Rivier", "265 Rue Saint Félix", "Drummondville", [0, 1, 2]], ["Soccer 2 Marie-Rivier", "265 Rue Saint Félix", "Drummondville", [0, 1, 2]], ["Football 1 Jean-Raimbault", "175 Rue Pelletier", "Drummondville", [0, 1, 2]], ["Football 2 Jean-Raimbault", "175 Rue Pelletier", "Drummondville", [0, 1, 2]], ["Football 3 Jean-Raimbault", "175 Rue Pelletier", "Drummondville", [0, 1, 2]], ["Soccer 1 Jean-Raimbault", "175 Rue Pelletier", "Drummondville", [0, 1, 2]], ["Soccer 2 Jean-Raimbault", "177 Rue Pelletier", "Drummondville", [0, 1, 2]]]; // Création d'objet 'terrain' et sauvegarde de ceux-ci dans la base de données foreach ($items as $item) { $terrain = new Terrain(); $terrain->nom = $item[0]; $terrain->adresse = $item[1]; $terrain->ville = $item[2]; $terrain->region_id = Region::where("nom_court", "=", "CDQ")->first()->id; //un peu de favoritisme pour le Centre du Québec. $terrain->save(); // Ajout de l'association entre les terrains et les sports $index_sports = array(); for ($x = 0; $x < count($item[3]); $x++) { array_push($index_sports, $sports[$x]->id); } $terrain->sports()->sync($index_sports); } }
/** * Enregistre dans la bd la ressource qui vient d'être créée. * * @return Response */ public function store() { try { $input = Input::all(); $terrain = new Terrain(); $terrain->nom = $input['nom']; $terrain->adresse = $input['adresse']; $terrain->ville = $input['ville']; $terrain->region_id = $input['region_id']; $terrain->description_courte = $input['description_courte']; if ($terrain->save()) { if (is_array(Input::get('sport'))) { $terrain->sports()->attach(array_keys(Input::get('sport'))); } return Redirect::action('TerrainsController@index')->with('status', 'Terrain ajouté!'); } else { return Redirect::back()->withInput()->withErrors($terrain->validationMessages()); } } catch (Exception $e) { App::abort(404); } }