如何通过mysql从制造商值id获取产品制造商名称?

时间:2014-02-04 07:32:58

标签: magento

我知道如何获得产品制造商ID,但我需要产品制造商ID&使用MySQL命名。

75是获取产品制造商ID的属性ID。

任何人都可以提供帮助吗?

我想用SQL格式。

2 个答案:

答案 0 :(得分:7)

首先,我想把它弄清楚。
如果您将产品作为对象,则可以获得如下制造商ID:

$product->getManufacturer();

并且名称为:

$product->getAttributeText('manufacturer');

现在对于sql部分...我不知道为什么你需要它但是这里去了。
假设产品ID为10。 试试这个查询。

SELECT
    i.value as manufacturer_id,
    v.value as manufacturer_name
FROM 
    catalog_product_entity_int i
    LEFT JOIN 
        eav_attribute_option o 
        ON i.value = o.option_id
    LEFT JOIN
        eav_attribute_option_value v
        ON o.option_id = v.option_id AND
        v.store_id = 0
WHERE 
    i.entity_id = 10 AND
    i.attribute_id = 75 AND 
    i.store_id = 0;

如果您希望其他商店视图的值只是将v.store_id = 0i.store_id = 0中的0替换为商店ID的值。 0表示默认值。

答案 1 :(得分:-1)

好的代码,谢谢!

在我的Magento 2.3.1上,我刚刚将attribute_id更改为“ 83”并添加了SKU。它可以正常工作。

SELECT
e.sku as SKU,
i.value as manufacturer_id,
v.value as manufacturer_name
FROM
catalog_product_entity_int i
LEFT JOIN
eav_attribute_option o
ON i.value = o.option_id
LEFT JOIN
eav_attribute_option_value v
ON o.option_id = v.option_id AND
v.store_id = 0
LEFT JOIN
catalog_product_entity e
ON i.entity_id = e.entity_id
WHERE
i.attribute_id = 83 AND
i.store_id = 0
ORDER BY `SKU`  DESC