public function refreshVariants() { $products = $this->products; if (!$products instanceof Collection) { $products = Product::whereIn('id', $products)->get(); } $variantManager = app(VariantManager::class); foreach ($products as $product) { $variantManager->refreshVariants($product); } }
public function getRelatedProducts() { $productIds = $this->join('attribute_options', 'attribute_groups.id', '=', 'attribute_options.attribute_group_id')->join('products', 'attribute_options.id', '=', 'products.id')->get(['products.id'])->pluck('id')->unique(); return Product::whereIn('id', $productIds)->get(); }