/**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index(\App\Product $productModel, \App\Category $categoryModel)
 {
     $category_id = request('cat');
     $categories = $categoryModel->all()->lists('title', 'id');
     if ($category_id) {
         $categoryModel->findOrFail($category_id);
         $products = $productModel->whereHas('categories', function ($query) use($category_id) {
             $query->where('category_id', $category_id);
         })->get()->toArray();
     } else {
         $products = $productModel->all()->toArray();
     }
     return view('product.index', compact('products', 'categories', 'category_id'));
 }
 public function index(Request $request)
 {
     if ($request->has('filter')) {
         $filter = $request->input('filter');
         $products = Product::whereHas('categories', function ($q) use($filter) {
             $q->whereIn('categories.id', $filter);
         })->simplePaginate(10);
     } else {
         $filter = "";
         $products = Product::with('categories')->simplePaginate(10);
     }
     $categories = Category::withDepth()->get();
     $categories = $categories->toTree();
     return view('products.index', ['products' => $products, 'categories' => $categories, 'filter' => $filter]);
 }
Example #3
0
 public static function searchByColor($id)
 {
     return Product::whereHas('colors', function ($query) use($id) {
         $query->where('id', $id);
     })->get();
 }