/**
  * 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'));
     }
 }