Exemplo n.º 1
0
 /**
  * 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);
     }
 }