Поиск…


Получать продукты с помощью репозитория продуктов

Чтобы получить продукты из базы данных, вам нужно использовать шаблон дизайна репозитория Magento 2. Каждый модуль может быть связан со своими собственными репозиториями, а модуль Product Catalog не отличается.

Вы можете использовать инъекцию зависимостей в своем классе для доступа к репозиторию. Рабочий пример будет выглядеть так:

class Example
{
    /**
     * @var \Magento\Catalog\Model\ProductRepository
     */
    protected $productRepository;

    /**
     * @param \Magento\Catalog\Model\ProductRepository $productRepository
     */
    public function __construct(
        \Magento\Catalog\Model\ProductRepository $productRepository
    ) {
        $this->productRepository = $productRepository;
    }

    /**
     * Get product by ID
     * @return \Magento\Catalog\Api\Data\ProductInterface
     * @throws \Magento\Framework\Exception\NoSuchEntityException
     */
    public function getProductById(int $productId)
    {
        return $this->productRepository->getById($productId);
    }
}

Репозиторий имеет больше функциональных возможностей, таких как сохранение или удаление продукта, а также получение списка продуктов и использование фильтра, но это выходит за рамки этого примера.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow