如果产品ID在数据库中不可用,Mage :: getSingleton('目录/产品')中的Magento产品数据无法清除
例如:
产品编号 - 586(存在产品)
产品编号 - 999(Magento中没有产品)
不工作:
$productModel = Mage::getSingleton('catalog/product');
$_product=$productModel->load('586');
echo $_product->getId()."<br>";
$productModels = Mage::getSingleton('catalog/product');
$_products=$productModels->load('999');
echo $_products->getId()."<br>";
输出:
586
586
工作:
$productModel = Mage::getSingleton('catalog/product');
$_product=$productModel->load('999');
echo $_product->getId()."<br>";
$productModels = Mage::getSingleton('catalog/product');
$_products=$productModels->load('586');
echo $_products->getId()."<br>";
输出:
586
任何人都请帮忙!..
答案 0 :(得分:0)
您可以使用Mage :: getModel()代替Mage :: getSingleton()。
<?php
$productModel = Mage::getModel('catalog/product');
$_product=$productModel->load('586');
echo $_product->getId()."<br>";
$productModels = Mage::getModel('catalog/product');
$_products=$productModels->load('999');
echo $_products->getId()."<br>";
?>
Output
586
当Singleton使用原始实例时,模型创建新实例。
答案 1 :(得分:0)
您可以在中间清除实例。
$_product->clearInstance();