private function _getProductBySlug($slug) { $slugAttribute = ProductAttribute::where('identifier', '=', 'slug')->get()->first(); $productVarcharValue = ProductVarcharValue::where('product_attribute_id', '=', $slugAttribute->id)->where('value', '=', $slug)->where('website_id', '=', $this->websiteId)->get()->first(); $product = Product::findorfail($productVarcharValue->product_id); return $product; }
public function searchProduct(Request $request) { $query = $request->get('q'); $titleAttribute = ProductAttribute::where('identifier', '=', 'title')->get()->first(); $titleCollection = $titleAttribute->productVarcharValues()->where('value', 'like', '%' . $query . '%')->where('website_id', '=', $this->websiteId)->get(); foreach ($titleCollection as $row) { $results[] = ['id' => $row->product_id, 'text' => $row->value]; } return response()->json(['results' => $results]); }
public function saveProductImages($product, ProductRequest $request) { $productAttribute = ProductAttribute::where('identifier', '=', 'image')->get()->first(); $productAttribute->productVarcharValues()->where('product_id', '=', $product->id)->delete(); if (count($request->get('image')) <= 0) { return true; } foreach ($request->get('image') as $image) { if (is_int($image)) { continue; } $productAttribute->productVarcharValues()->create(['product_id' => $product->id, 'website_id' => $this->websiteId, 'value' => $image]); } }
public function getFeaturedProducts($paginate = 4) { $attribute = ProductAttribute::where('identifier', '=', 'is_featured')->get()->first(); $products = Collection::make([]); $varcharValues = $attribute->productVarcharValues()->where('value', '=', 1)->get(); foreach ($varcharValues as $varcharValue) { $products->push(self::findorfail($varcharValue->product_id)); } return $products; }