使用產品儲存庫獲取產品
要從資料庫中獲取產品,你需要使用 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);
}
}
儲存庫具有更多功能,例如儲存或刪除產品,以及獲取產品列表和使用過濾器,但這超出了此示例的範圍。