/** * @param string $abstractSku * * @return \Generated\Shared\Transfer\ProductVariantTransfer[] */ public function getProductVariantsByAbstractSku($abstractSku) { $abstractProduct = $this->productQueryContainer->queryProductAbstractBySku($abstractSku)->findOne(); if (!$abstractProduct) { return []; } $abstractProductVariants = $this->createAbstractProductVariants($abstractProduct); $productVariants = $this->createConcreteProductVariants($abstractProduct, $abstractProductVariants); return $productVariants; }
/** * @param string $sku * * @throws \Spryker\Zed\Product\Business\Exception\MissingProductException * * @return int */ public function getProductAbstractIdBySku($sku) { if (!isset($this->productAbstractsBySkuCache[$sku])) { $productAbstract = $this->productQueryContainer->queryProductAbstractBySku($sku)->findOne(); if (!$productAbstract) { throw new MissingProductException(sprintf('Tried to retrieve an product abstract with sku %s, but it does not exist.', $sku)); } $this->productAbstractsBySkuCache[$sku] = $productAbstract; } return $this->productAbstractsBySkuCache[$sku]->getPrimaryKey(); }