public function search(Request $request, $category = null)
 {
     $search = array_add($request->all(), 'published', [1, 4]);
     //if ($search['q'] == '') return view('categories.index');
     if (isset($search['q']) && $search['q'] != '' || !$category) {
         $products = $this->productRepository->getAll($search);
     } else {
         list($products, $category) = $this->productRepository->findByCategory($category);
     }
     $q = isset($search['q']) ? $search['q'] : '';
     return view('products.index')->with(compact('products', 'q', 'category'));
 }
 public function index($categoryId, ProductRepository $productRepository, CategoryRepository $categoryRepository)
 {
     $categoryName = $categoryRepository->findById($categoryId)->name;
     $products = $productRepository->findByCategory($categoryId);
     return view('categories.products.index', compact('products', 'categoryName'));
 }