public function massUpdate(Request $request, Product $product) { $variantsData = $request->input('variants'); $variants = $this->variantManager->getVariantRepository()->whereProduct($product)->findAll(); foreach ($variants as $variant) { if (isset($variantsData[$variant->id])) { $variantData = $variantsData[$variant->id]; $this->variantManager->getVariantRepository()->update($variant, ['stock' => $variantData['stock'] !== "" ? $variantData['stock'] : null, 'price' => $variantData['price'] !== "" ? $variantData['price'] : null]); } } return $this->success('update'); }
public function show(Product $product, VariantManager $variantManager, AttributeManager $attributeManager) { if (!$product->isActive()) { abort(404); } $seller = $product->getSeller(); $attributes = $attributeManager->getAttributesForProduct($product); $variants = $variantManager->getVariantRepository()->whereProduct($product)->with('attributeOptions')->findAll(); // for stock calculation $product->setRelation('variants', $variants); return view('product::__front.products.show', compact('seller', 'product', 'attributes', 'variants')); }