/** * Run the database seeds. * * @return void */ public function run() { DB::table('pointages')->delete(); $sports = Sport::all(); foreach ($sports as $sport) { $pointage = new Pointage(); $pointage->sport_id = $sport->id; $pointage->position = 1; $pointage->valeur = 0; $pointage->save(); } }
/** * 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); } }