![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-wishlist/Model/Product/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Wishlist\Model\Product; use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory as ProductCollectionFactory; /** * Provides existing attribute value for a product entity. */ class AttributeValueProvider { /** * @var ProductCollectionFactory */ private $productCollectionFactory; /** * @param ProductCollectionFactory $productCollectionFactory */ public function __construct( ProductCollectionFactory $productCollectionFactory ) { $this->productCollectionFactory = $productCollectionFactory; } /** * Provides existing raw attribute value by the attribute code of the product entity. * * @param int $productId * @param string $attributeCode * @param int|null $storeId * @return null|string */ public function getRawAttributeValue(int $productId, string $attributeCode, int $storeId = null):? string { $collection = $this->productCollectionFactory->create(); $collection->addIdFilter($productId) ->addStoreFilter($storeId) ->addAttributeToSelect($attributeCode); if ($collection->isEnabledFlat()) { $data = $collection->getConnection()->fetchRow($collection->getSelect()); $attributeValue = $data[$attributeCode] ?? null; } else { $attributeValue = $collection->getFirstItem()->getData($attributeCode); } return $attributeValue; } }