コード例 #1
0
ファイル: ProductManager.php プロジェクト: spryker/Product
 /**
  * @param string $concreteSku
  *
  * @throws \Spryker\Zed\Product\Business\Exception\MissingProductException
  *
  * @return \Generated\Shared\Transfer\ProductConcreteTransfer
  */
 public function getProductConcrete($concreteSku)
 {
     $localeTransfer = $this->localeFacade->getCurrentLocale();
     $productConcreteQuery = $this->productQueryContainer->queryProductWithAttributesAndProductAbstract($concreteSku, $localeTransfer->getIdLocale());
     $productConcreteQuery->select([self::COL_ID_PRODUCT_CONCRETE, self::COL_ABSTRACT_SKU, self::COL_ID_PRODUCT_ABSTRACT, self::COL_NAME]);
     $productConcrete = $productConcreteQuery->findOne();
     if (!$productConcrete) {
         throw new MissingProductException(sprintf('Tried to retrieve a product concrete with sku %s, but it does not exist.', $concreteSku));
     }
     $productConcreteTransfer = new ProductConcreteTransfer();
     $productConcreteTransfer->setSku($concreteSku)->setIdProductConcrete($productConcrete[self::COL_ID_PRODUCT_CONCRETE])->setProductAbstractSku($productConcrete[self::COL_ABSTRACT_SKU])->setIdProductAbstract($productConcrete[self::COL_ID_PRODUCT_ABSTRACT])->setName($productConcrete[self::COL_NAME]);
     return $productConcreteTransfer;
 }