/** * Display restaurants having a particular category * * @param $id * @return \Illuminate\View\View */ public function viewAction($id) { $data = array(); if (!$id) { $data['errors'][] = 'Invalid ID'; } else { $data['id'] = $id; } $category = Categories::find($id); if (!$category) { $data['errors'][] = 'Category not found.'; return view('cms.category.view', $data); } $restaurants_category = RestaurantsCategory::where('category_id', $id)->get(); if ($restaurants_category) { $restaurants = array(); foreach ($restaurants_category as $restaurant_category) { $restaurant = Restaurants::find($restaurant_category->restaurant_id); if (!$restaurant) { $data['errors'][] = 'Cannot find restaurant ID ' . $restaurant->id . '.'; return view('cms.category.view', $data); } $restaurants[] = array('id' => $restaurant->id, 'name' => $restaurant->name, 'address' => $restaurant->address, 'telephone' => $restaurant->telephone, 'rating' => $restaurant->rating, 'budget' => $restaurant->budget); $restaurant = null; } $data['restaurants'] = $restaurants; } $data['page_title'] = ': ' . $category->name; return view('cms.category.view', $data); }
public function store(CategoriesRequest $request, $id = null) { if ($id == null) { $categories = new Categories(); } else { $categories = Categories::find($id); } $categories->title = $request->titre; $categories->description = $request->description; $categories->save(); Session::flash('success', "La categorie : {$categories->title} a bien été ajouté !"); return Redirect::route('categories_index'); //recupere le film de mon film ac la methode POST //input (name de mon champ) permet de recuperer la donéne titre de maniere safely }
/** * 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'); }
$category_cur = Categories::find($category_cur->parent); $categories[$category_cur->category_key] = $category_cur->name; } else { $categories[$category_cur->category_key] = $category_cur->name; break; } } $categories = array_reverse($categories); foreach ($categories as $key => $name) { $breadcrumbs->push($name, route('frontend.category', $key)); } }); // Detail Breadcrumbs::register('detail', function ($breadcrumbs, $news_info) { $category_cur = Categories::find($news_info->category_id); $breadcrumbs->parent('home'); $categories[$category_cur->category_key] = $category_cur->name; while (true) { if ($category_cur->parent != 0) { $category_cur = Categories::find($category_cur->parent); $categories[$category_cur->category_key] = $category_cur->name; } else { $categories[$category_cur->category_key] = $category_cur->name; break; } } $categories = array_reverse($categories); foreach ($categories as $key => $name) { $breadcrumbs->push($name, route('frontend.category', $key)); } });