/** * 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 * @param $id (facultatif), valeur null par defaut */ public function store(Request $request, $id = null) { if (!empty($id)) { $categorie = Categories::find($id); } else { $categorie = new Categories(); } if (!empty($request->title)) { $categorie->title = $request->title; } $categorie->description = $request->description; /** * 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/categories'; //deplacement de l'image uploadée $file->move($destinationPath, $filename); //mise à jour de la propriété de l'objet Categories $categorie->image = asset('/uploads/categories/' . $filename); } if (!empty($categorie->title)) { // mise à jour de la propriété slug, reprise du title en minuscule, sans espace $categorie->slug = str_replace(" ", "-", strtolower($request->title)); } //sauvegarde de l'objet Categories en base $categorie->save(); //creer un messsage flash de type success if (!empty($id)) { Session::flash('success', "La catégorie {$categorie->title} a bien été modifiée."); } else { Session::flash('success', "La catégorie {$categorie->title} a bien été créée."); } //redirection vers la liste des catégories return Redirect::route('categories_index'); }