Ejemplo n.º 1
0
 /**
  * Store database
  */
 public function store(MoviesRequest $request)
 {
     $dateoutput = \DateTime::createFromFormat('d/m/Y', $request->date_release);
     $movie = new Movies();
     $movie->type = $request->type;
     $movie->title = $request->title;
     $movie->synopsis = $request->synopsis;
     $movie->description = $request->description;
     $movie->trailer = $request->trailer;
     $movie->date_release = $dateoutput;
     $movie->visible = $request->visible;
     $movie->cover = $request->cover;
     $movie->languages = $request->lang;
     $movie->categories_id = $request->categories_id;
     $movie->note_presse = $request->note_presse;
     $movie->distributeur = $request->distributeur;
     $filename = "";
     if ($request->hasFile('image')) {
         $file = $request->file('image');
         $filename = $file->getClientOriginalName();
         // Récupère le nom original du fichier
         $destinationPath = public_path() . '/uploads/movies';
         // Indique où stocker le fichier
         $file->move($destinationPath, $filename);
         // Déplace le fichier
     }
     $movie->image = asset("uploads/movies/" . $filename);
     $movie->save();
     $actors = $request->actors;
     if (isset($actors)) {
         foreach ($actors as $actor) {
             DB::table('actors_movies')->insert([['movies_id' => $movie->id, 'actors_id' => $actor]]);
         }
     }
     $directors = $request->directors;
     if (isset($directors)) {
         foreach ($directors as $director) {
             DB::table('directors_movies')->insert([['movies_id' => $movie->id, 'directors_id' => $director]]);
         }
     }
     Session::flash('success', "Le film {$movie->title} a été enregistré");
     return Redirect::route('movies_index');
 }
 /**
  * action pour enregistrer en bdd les données du formulaire
  * la classe Request permet de receptionner les données en POST de manière sécurisée
  * sans gestion des contraintes de validation en amont
  *
  * Avec contraintes et utilisation d'une classe liée à FormRequest en amont:
  * MoviesRequest représente le formulaire
  * et la requête en POST du formulaire
  *
  *
  * on rentre dans la méthode seulement si il n'y a plus d'erreur dans le
  * formulaire
  */
 public function store(MoviesRequest $request)
 {
     //récupérer le titre du film en POST
     //input(nom du champ) permet de récupérer la donnée en POST de façon sécurisée
     //$title = $request->input("title");
     //$description = $request->input("description");
     //exit() permet de sortir de l'exécution php
     //dump() permet le débuguage
     //exit(dump($title, $description));
     $movie = new Movies();
     foreach ($request->except('_token') as $key => $value) {
         $movie->{$key} = $value;
     }
     /**
      * traitement de l'upload de l'image
      */
     $filename = "";
     // si j'ai un fichier image
     if ($request->hasFile('image')) {
         //recuperation de l'image
         $file = $request->file('image');
         //recuperation du nom du fichier
         $filename = $file->getClientOriginalName();
         //stockage du chemin vers lequel l'image va etre envoyée
         $destinationPath = public_path() . '/uploads/movies';
         //deplacement de l'image uploadée
         $file->move($destinationPath, $filename);
     }
     //mise à jour de la propriété de l'objet Movies
     $movie->image = asset('/uploads/movies/' . $filename);
     /**
      * les dates created_at et updated_at sont mises à jour automatiquement
      * par Laravel
      */
     //        //on renseigne la date de création si elle est vide
     //        if(!$request->has('created_at')){
     //            $now = new \DateTime('NOW');
     //            $now = date_format($now, 'Y-m-d H:i:s');
     //            $movie->created_at = $now ;
     //        }
     //
     //        //mise à jour de la date d'édition, à chaque fois
     //        $now = new \DateTime('NOW');
     //        $now = date_format($now, 'Y-m-d H:i:s');
     //        $movie->updated_at = $now ;
     //sauvegarde de l'objet Movies en base
     $movie->save();
     //creer un messsage flash de type success
     Session::flash('success', "Le film {$movie->title} a bien été créé.");
     //redirection vers la liste des films
     return Redirect::route('movies_index');
 }