我有幾千個動態ID ..可以說產品。 現在我想加載這些產品,而不用發送超過一千個查詢到數據庫。 因此,這不是一個解決方案:從數據庫中加載多個對象完成
$products = array();
foreach($ids as $id){
$products[] = Mage::getModel('catalog/product')->load($id);
}
但是因爲我需要的完整產品,這也是沒有辦法了:
$products = Mage::getModel('catalog/product')->getCollection();
$products->addFieldToFilter('entity_id', array('in', $ids));
所以..我真的有到load
每個單品,這可能會導致超過3000條查詢並花費幾分鐘?
你真的需要有幾千的在同一個頁面加載的產品呢? – dynamic 2012-01-31 12:16:59
如果你需要它,不要!如果你被要求這麼做,那麼你說不會。在1頁加載幾個1000將導致舊計算機/瀏覽器上的內存問題 – 2012-01-31 12:21:17
因此,您的問題通常是如何從數據庫存儲中獲取一個查詢的多個模型? – hakre 2012-01-31 12:24:32