vba*_*bak 2 collections magento magento-1.7
我不知道我问的对不对。我需要加载一个产品,更改一些值并保存它。我的问题是哪种方式适合这样做。目前我正在使用这种方式:
$id = Mage::getModel('catalog/product')->getIdBySku($sku);
$product = Mage::getModel('catalog/product')->load($id);
Run Code Online (Sandbox Code Playgroud)
1) 一般来说,即使使用 40K 产品它也能正常工作。但我读到这种方式会导致内存泄漏?同样对于该解决方案,我读到如果我禁用重新索引功能,我可以改善处理时间。
2)如果我使用另一种方式并将其作为集合加载然后应用一些过滤器,前addFieldToFilter('sku',$the_product_i_want)
会更好吗?
当我说更好时,我的意思是:1)magento 方式,2)时间效率高 3)不做我不需要做的事情。
每次调用以下代码片段时,Mage::getModel('catalog/product')Magento 都会在内存中创建一个新的模型对象。这将导致内存浪费。您可以执行以下操作。
$model = Mage::getModel('catalog/product');
$id = $model->getIdBySku($sku);
$product = $model->load($id);
Run Code Online (Sandbox Code Playgroud)
同时if you have the product object可以使用下面的代码。
$collection = Mage::getModel('catalog/product')->getCollection();
$product = $collection->addFieldToFilter('sku',$the_product_i_want);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14099 次 |
| 最近记录: |