/** * Entrepose dans la bd une nouvelle épreuve qui sera associée à un sport */ public function store() { //FIXME: presque le même code que update, DRY $input = Input::all(); try { $sport = Sport::findOrFail($input["sportsListe"]); } catch (ModelNotFoundException $e) { App::abort(404); } $epreuve = new Epreuve(); $epreuve->nom = $input['nom']; $epreuve->description = $input['description']; $epreuve->sport_id = $sport->id; if ($epreuve->save()) { try { $arbitresAEntrer = explode(",", Input::get('arbitresUtilises')); //Vérification qu'il y a bien un arbitre à entrer dans la BD. if (EpreuvesController::verifier_existence($arbitresAEntrer)) { $epreuve->arbitres()->sync($arbitresAEntrer); } else { $epreuve->arbitres()->detach(); } } catch (Exception $e) { App::abort(404); } return Redirect::action('EpreuvesController@index', array('sportId' => $input["sportsListe"])); } else { return Redirect::back()->withInput()->withErrors($epreuve->validationMessages()); } }
/** * Entrepose dans la bd une nouvelle épreuve qui sera associée à un sport * * @param[in] int $sportId l'id du sport auquel sera associé l'épreuve */ public function store($sportId) { try { $sport = Sport::findOrFail($sportId); } catch (ModelNotFoundException $e) { App::abort(404); } $input = Input::all(); $epreuve = new Epreuve(); $epreuve->nom = $input['nom']; $epreuve->description = $input['description']; if ($epreuve->save()) { try { //associe le sport aux épreuves (one to many) $epreuve = $sport->epreuves()->save($epreuve); } catch (Exception $e) { App::abort(404); } return Redirect::action('SportsEpreuvesController@index', $sportId); } else { return Redirect::back()->withInput()->withErrors($epreuve->validationMessages); } }