Magento 的 getItemsCollection 没有应用过滤器
Magento's getItemsCollection is not applying filters
我正在尝试将过滤器应用于报价项目集合,我使用此方法获取集合
$items_collection = Mage::getSingleton('checkout/session')->getQuote()->getItemsCollection();
$items_collection->addFieldToFilter('product_id', $_product->getId());
当我打印出 select 查询时,查询是正确的
$items_collection->getSelect()
但是当我遍历集合时,它正在获取所有项目,它没有应用过滤器,有人知道为什么吗?
foreach ($items_collection as $item) {
// Do things....
}
试试这个。使用 getModel 而不是 getSingleton。
$items_collection = Mage::getModel('checkout/session')->getQuote()->getItemsCollection();
$items_collection->addFieldToFilter('product_id', $_product->getId());
foreach ($items_collection as $item) {
echo $item->getProduct()->getId();
}
我正在尝试将过滤器应用于报价项目集合,我使用此方法获取集合
$items_collection = Mage::getSingleton('checkout/session')->getQuote()->getItemsCollection();
$items_collection->addFieldToFilter('product_id', $_product->getId());
当我打印出 select 查询时,查询是正确的
$items_collection->getSelect()
但是当我遍历集合时,它正在获取所有项目,它没有应用过滤器,有人知道为什么吗?
foreach ($items_collection as $item) {
// Do things....
}
试试这个。使用 getModel 而不是 getSingleton。
$items_collection = Mage::getModel('checkout/session')->getQuote()->getItemsCollection();
$items_collection->addFieldToFilter('product_id', $_product->getId());
foreach ($items_collection as $item) {
echo $item->getProduct()->getId();
}