Filter product collection on two categories Magento 1.7

℡╲_俬逩灬. 提交于 2019-12-03 14:54:19
Patrick Steenks

Ok, I've got this solved thanks to https://stackoverflow.com/a/13291759/991491

$collection = Mage::getModel('catalog/product')
    ->getCollection()
    ->joinField('category_id', 'catalog/category_product', 'category_id', 'product_id = entity_id', null, 'left')
    ->addAttributeToFilter('category_id', array('in' => array('finset' => 3,4)))
    ->addAttributeToSelect('*');
$collection->getSelect()->group('e.entity_id');

The group clause does the trick in overcoming duplicate product id's that get returned.

same error links suggestion http://www.magentocommerce.com/boards/m/viewthread/245112/

this will happen when in collection you have same id

so i used below code at the end of collection

$collection->getSelect()->distinct(true);

this will make select distinct

I got this error and what Magento reported via '/var/reports/xxx' was:

a:5:{i:0;s:71:"Item (Mage_Catalog_Model_Product) with the same id "xxx"

What I come up with was deactivating product with this id and it was fixed. Then I deleted this product and re-create it. Not a perfect solution, but works for now. But I still wonder what was the problem there? In our case, this error came suddenly. We haven't changed or developed anything new recently on which we could put the blame. Does anybody have any idea why this happened out of the blue?

Filter Product Collection using multiple category ids

$all_categories = array('3','13','113');   
$productCollection = Mage::getModel('catalog/product')->getCollection();
$productCollection->joinField('category_id', 'catalog/category_product', 'category_id', 
                    'product_id = entity_id', null, 'left')
                  ->addAttributeToSelect('*')
                  ->addAttributeToFilter('type_id', array('eq' => 'simple'))
                  ->addAttributeToFilter('category_id', array($all_categories));
foreach($productCollection as $product)
{
    echo $product->getId() .$product->getName() . "<br/>";
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!