/** * Display a listing of the subcategory. * * @param $category_slug * @param $subcategory_slug * @return \Illuminate\Http\Response */ public function subcategory($category_slug, $subcategory_slug) { $category_name = str_replace('-', ' ', $category_slug); $subcategory_name = str_replace('-', ' ', $subcategory_slug); $category = $this->category->where('category', 'like', $category_name)->firstOrFail(); $subcategory = $category->subcategories()->where('subcategory', 'like', $subcategory_name)->firstOrFail(); $articles = $this->subcategory->subcategoryArticle($subcategory->id); $data = $this->reduceArticleData($articles); return ['request_id' => uniqid(), 'status' => 'success', 'timestamp' => Carbon::now(), 'articles' => $data]; }
/** * Display a listing of the subcategory. * * @param Request $request * @param $category_slug * @param $subcategory_slug * @return \Illuminate\Http\Response */ public function subcategory(Request $request, $category_slug, $subcategory_slug) { /* * -------------------------------------------------------------------------- * Populating article by sub category * -------------------------------------------------------------------------- * Article is retrieved by category then from category select subcategory, * because some categories maybe have similar subcategory name and resulting * same slug, they return view or json depend on 'page' existences. */ $category_name = str_replace('-', ' ', $category_slug); $subcategory_name = str_replace('-', ' ', $subcategory_slug); $category = $this->category->where('category', 'like', $category_name)->firstOrFail(); $subcategory = $category->subcategories()->where('subcategory', 'like', $subcategory_name)->firstOrFail(); $articles = $this->subcategory->subcategoryArticle($subcategory->id); $breadcrumb = ['Archive' => route('article.archive'), $category->category => route('article.category', [$category_slug]), $subcategory->subcategory => route('article.subcategory', [$category_slug, $subcategory_slug])]; $next_ref = '#'; $prev_ref = '#'; if (Input::get('page', false) && $request->ajax()) { return $articles; } else { return view('article.category', compact('breadcrumb', 'next_ref', 'prev_ref')); } }