/** * 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]); }
public static function searchByColor($id) { return Product::whereHas('colors', function ($query) use($id) { $query->where('id', $id); })->get(); }