获取eav表中属性的所有现有值

时间:2014-09-14 12:55:02

标签: magento

我的属性“country”是varchar,它是在我拥有的每个产品中设置的。 我需要有一个列表,列出为此属性设置的所有值,并考虑所有产品。基本上我想做的是相当于这个查询:

SELECT `value` FROM `catalog_product_entity_varchar` WHERE attribute_id=147

如何以magento的方式做到这一点?

我目前正在做的事情是获取所有产品的集合并循环遍历它们,这不是一种选择。

2 个答案:

答案 0 :(得分:2)

检查以下代码: -

$attribute = Mage::getSingleton('eav/config')->getAttribute('catalog_product', 'color');
if ($attribute->usesSource()) {
    $options = $attribute->getSource()->getAllOptions(false);
}

答案 1 :(得分:1)

这个怎么样?

 $collection = Mage::getModel('catalog/product')->getCollection();
 $collection->addAttributeToSelect('sku');  
 $collection->addAttributeToSelect('country');

 foreach ($collection as $product) { 
    // ... Your stuff here
 }