使用產品儲存庫獲取產品

要從資料庫中獲取產品,你需要使用 Magento 2 的儲存庫設計模式。每個模組都可以與自己的儲存庫繫結在一起,而產品目錄模組也沒有任何不同。

你可以在類中使用依賴注入來訪問儲存庫。一個工作示例如下所示:

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);
    }
}

儲存庫具有更多功能,例如儲存或刪除產品,以及獲取產品列表和使用過濾器,但這超出了此示例的範圍。