Php Magento获取指定属性集和值的选项id
我已经搜索了几个小时了,还没有找到解决这个问题的办法。我需要获取可配置产品的选项ID。我拥有的当前信息是SKU、属性集ID和选项标签。如何使用这些值获取选项ID 非常感谢那些能帮助我的人 **更新** 下面是数据库表eav_attribute_option_value的一个示例(我猜Magento从中获取ID的值)Php Magento获取指定属性集和值的选项id,php,magento,Php,Magento,我已经搜索了几个小时了,还没有找到解决这个问题的办法。我需要获取可配置产品的选项ID。我拥有的当前信息是SKU、属性集ID和选项标签。如何使用这些值获取选项ID 非常感谢那些能帮助我的人 **更新** 下面是数据库表eav_attribute_option_value的一个示例(我猜Magento从中获取ID的值) 我需要得到ID57的值。当语言环境为法语时,我会得到正确的值。但是,当我切换到英语时,我会得到ID 749,它来自另一个属性集。如果您想获取选项ID,您可以很容易地这样做:
我需要得到ID57的值。当语言环境为法语时,我会得到正确的值。但是,当我切换到英语时,我会得到ID 749,它来自另一个属性集。如果您想获取选项ID,您可以很容易地这样做:
$productModel = Mage::getModel('catalog/product')->load('1234', 'sku');
$attr = $productModel->getResource()->getAttribute("color");
if ($attr->usesSource()) {
echo $color_id = $attr->getSource()->getOptionId("Red");
}
有关详细信息,您可以检查此我自己的查询,以从数据库获取属性选项id。您只需指定属性名和值。例如:
SELECT ao.option_id
FROM `eav_attribute_option` AS ao, `eav_attribute_option_value` AS av
WHERE ao.option_id = av.option_id
AND av.value LIKE 'dragon'
AND ao.attribute_id IN
(SELECT attribute_id
FROM eav_attribute
WHERE attribute_code
LIKE 'manufacturer')
谢谢你的回答,但这对我来说不起作用。我需要指定一个属性集(我有ID)。看看我的更新。
SELECT ao.option_id
FROM `eav_attribute_option` AS ao, `eav_attribute_option_value` AS av
WHERE ao.option_id = av.option_id
AND av.value LIKE 'dragon'
AND ao.attribute_id IN
(SELECT attribute_id
FROM eav_attribute
WHERE attribute_code
LIKE 'manufacturer')