with('range') ->where('slug', $slug) ->where('published', true) ->firstOrFail(); $productModels = Product::query() ->where('slug', '!=', $slug) ->where('published', true) ->inRandomOrder()->limit(2)->get(); $klubBloc = KlubBloc::query()->first(); $rangeModels = Range::query()->whereNot('id', $productModel->range->id)->limit(2) ->inRandomOrder()->get(); return view('fo.pages.products.show', compact( 'productModel', 'productModels', 'klubBloc', 'rangeModels' )); } /** * Get filtered products. * * @return \Illuminate\Http\JsonResponse */ public function productsFiltered(): \Illuminate\Http\JsonResponse { if (!request()->has('range_id') or !request()->has('page')) { abort(404); } $productModels = Product::query() ->where('published', true) ->where('range_id', request()->range_id) ->orderBy('updated_at', 'desc') ->get(); $productModels = CollectionHelper::paginateManually($productModels, 9, request()->input('page')); return response()->json($productModels); } }