/** * @param Product $product * * @return Collection */ public function loadSimilar(Product $product) : Collection { return $this->productResource->search($product->name)->take(4)->get()->filter(function (Product $similarProduct) use($product) { return $similarProduct->id !== $product->id; }); }
/** * @param SearchRequest $request * * @return \Illuminate\Contracts\View\View */ public function searchAction(SearchRequest $request) { return $this->webUi->view('customer.product.search', ['query' => $request->searchQuery(), 'products' => $this->productResource->search($request->searchQuery())->paginate(self::PAGE_SIZE)]); }