Magento:用于从eav_attribute_option_value检索数据的类

时间:2012-02-26 20:39:56

标签: class magento

我在Magento 1.4.0.1安装的eav_attribute_option_value中有以下数据。

value_id  |  option_id  |  store_id  |  value
-------------------------------------------------------------------------
35        |  7          |  0         |  Levertijd 1 tot 3 werkdagen
36        |  6          |  0         |  Levertijd 4 tot 10 werkdagen
37        |  5          |  0         |  Langer dan 11 werkdagen
38        |  4          |  0         |  Levertijd onbekend
39        |  3          |  0         |  Pre-Order

我在var中有option_id的数据,比如说$ delivery(例如= 6)。我想通过使用现有的Magento类来检索数据。所以输出数据应该是“Levertijd 4 tot 10 werkdagen”。

有没有人知道Magento中是否存在我可以使用的现有功能?

提前致谢。

2 个答案:

答案 0 :(得分:6)

您可以使用$option_id

直接加载attribute_option_value实体
$eav_attribute_option_value = Mage::getModel('eav/entity_attribute_option')
    ->getCollection()
    ->setStoreFilter()
    ->join('attribute', 'attribute.attribute_id=main_table.attribute_id', 'attribute_code')
    ->addFieldToFilter('main_table.option_id', array('eq' => $option_id))
    ->getFirstItem();

然后访问其值

$eav_attribute_option_value->getValue()

答案 1 :(得分:3)

// Your variable
$option_id = 6;

// Retrieve values
$attributes = Mage::getModel('eav/entity_attribute_option')->getCollection()->setStoreFilter()->join('attribute','attribute.attribute_id=main_table.attribute_id', 'attribute_code');
foreach ($attributes as $attribute) {
    if ($attribute->getOptionId()==$option_id) {
        echo $attribute->getValue();
    }
}