我对Magento很新,我正试图弄清楚如何过滤一系列产品。情况就是这样:我有一个产品有'样式',这是产品的属性(样式的例子:黄铜)。我需要获得所有其他具有“黄铜”风格的产品。
我做了一些研究并发现了addFieldToFilter()方法,但它似乎没有工作(或者,很可能,我没有正确使用它):
$same_style_collection = Mage::getModel('catalog/product')->getCollection()
->addFieldToFilter(array(array('attribute' => 'name', 'like' => 'brass')));
任何人都可以帮助我吗?非常感谢。
答案 0 :(得分:6)
你试过这样的吗?
$collection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToFilter('style', 'brass');
这将为您提供属性style
且价值为brass
的所有产品。
如果要从EAV集合中过滤数据,请使用addAttributeToFilter
,如果要从Flat表集合中过滤数据,请使用addFieldToFilter
。
答案 1 :(得分:0)
$collection = Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*');
foreach ($collection as $product) {
echo $product->getName() . "<br />";
}
使用这种getter setter方法,您可以像我在这里一样访问每个产品属性。</ p>