public function show($slug, $categoryid = null) { if ($product = Product::where('slug', $slug)->first()) { $parentCategores = $product->categories; $pathCategory = Category::find($categoryid); return view('Products::product_show', compact('product', 'parentCategores', 'pathCategory')); } abort(404); }
public function show($slug = 'root') { // Если запрос пришел не на конкретную категорию, а на раздел категорий, отдаем коллекцию категорий верхнего уровня if ($slug == 'root') { $nodes = Category::whereIsRoot()->get(); $many = true; return view('Products::category_show', compact('nodes', 'many')); } // Иначе отдаем запрашиваемую категорию c товарами if ($node = Category::where('slug', $slug)->first()) { $products = Category::find($node->id)->products()->paginate(Category::$productPerPage); $many = false; return view('Products::category_show', compact('node', 'many', 'products')); } // ну или посылаем на 404 если нет такой abort(404); }