/** * Création d'arbitres dans la base de données */ public function run() { DB::table('arbitre_epreuve')->delete(); DB::table("arbitres")->delete(); $epreuves = Epreuve::all(); $entrees = [["Benoit", "Desrosiers", "1", "AQSFR", "819-578-6489", 0], ["Guy", "Bernard", "1", "OSQ", "450-715-6915", 0], ["Jonathan", "Gareau", "1", "ASSQ", "514-763-2485", 0], ["Stéphane", "Janvier", "2", "ASAQ", "450-571-1203", 0]]; $regions = Region::all(); foreach ($entrees as $entree) { $arbitre = new Arbitre(); $arbitre->prenom = $entree[0]; $arbitre->nom = $entree[1]; $arbitre->region_id = $regions->random()->id; $arbitre->numero_accreditation = $entree[2]; $arbitre->association = $entree[3]; $arbitre->numero_telephone = $entree[4]; $arbitre->sexe = $entree[5]; $date_temp = new DateTime(); $date_temp->setDate(1994, 1, 1); $arbitre->date_naissance = $date_temp; $arbitre->save(); for ($j = 0; $j < rand(1, 4); $j++) { $epreuves->random()->arbitres()->attach($arbitre->id); } } }
/** * Efface un arbitre de la bd. * * @param int $id l'id de l'arbitre à effacer * @return Response */ public function destroy($id) { try { $arbitre = Arbitre::findOrFail($id); $arbitre->delete(); return Redirect::action('ArbitresController@index'); } catch (Exception $e) { App: abort(404); } }
/** * Affiche le formulaire permettant d'éditer une épreuve * * @param[in] int $epreuveId l'id de l'épreuve */ public function edit($epreuveId) { try { $epreuve = Epreuve::findOrFail($epreuveId); $sportId = $epreuve->sport->id; $sports = Sport::all(); $arbitresEpreuves = $epreuve->arbitres; $arbitres = EpreuvesController::filtrer_arbitres(Arbitre::orderBy('nom', 'asc')->get(), $arbitresEpreuves); //FIXME: au lieu d'avoir une fonction pour filtrer les arbitres déjà associés à une épreuve, on peut se servir du whereNotIn // et fournir la liste des ids des arbitresEpreuves // $arbitres = Arbitre::all()->whereNotIn('id', $arbitresEpreuves->pluck('id')) ->get(); $sportId = $this->checkSportId($sports, $sportId); return View::make('epreuves.edit', compact('epreuve', 'sports', 'sportId', 'arbitres', 'arbitresEpreuves')); } catch (ModelNotFoundException $e) { App::abort(404); } }