/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update($id) { $listeValeurs = Input::get("valeur"); //TODO: ajoute un try catch $listePositions = array_keys($listeValeurs); $pointages = []; $erreurs = []; if (Sport::where('id', $id)->get()) { //FIXME: c'est la même chose que dans store. DRY foreach ($listePositions as $position) { $pointage = new Pointage(); $pointage->sport_id = $id; $pointage->position = $position; $pointage->valeur = $listeValeurs[$position]; $pointages[] = $pointage; } DB::beginTransaction(); $ok = true; Pointage::where('sport_id', $id)->delete(); foreach ($pointages as $pointage) { if ($pointage->save()) { } else { $ok = false; } } if ($ok) { DB::commit(); return Redirect::action('PointagesController@index'); } else { DB::rollback(); $sport = Sport::where('id', $id)->first(); return View::make('pointages.edit', compact('sport', 'pointages')); } } else { App::abort(404); } }
/** * Affiche une seule équipe en détail. * * @param int $id l'id du chef de l'équipe à afficher * @return Response */ public function show($id) { $equipe = Equipe::findOrFail($id); $sport = Sport::where('id', '=', $equipe->sport_id)->first(); return View::make('equipes.show', compact('equipe', 'sport')); }