1

我正在尝试查询 Magento 1.7.0.2 中的产品制造商。我一次又一次地浏览所有表格,找到制造商表格并将其与产品 SKU 连接起来。

我尝试这个查询,希望我能得到产品的制造商:

SELECT 
eav_attribute_option_value.value FROM 
eav_attribute,
eav_attribute_option,
eav_attribute_option_value 
WHERE 
eav_attribute.attribute_code = 'manufacturer' AND
eav_attribute_option.attribute_id = eav_attribute.attribute_id AND
eav_attribute_option_value.option_id = eav_attribute_option.option_id

但是当我将结果与我的 magento admin 产品制造商进行比较时,它不等于产品制造商。

我的问题是,我应该怎么做才能查询到该产品的制造商列表,以便我可以sql join使用catalog_product_enity's SKU.

有人知道我的案子吗?我是 magento 的新手,所以请对我温柔一点。任何帮助将不胜感激,在此先感谢

4

2 回答 2

1

我希望我理解正确。
如果您想获得产品的制造商,您不需要任何查询。
这应该有效。假设您已经在 var 中拥有产品$_product

$_product->getAttributeText('manufacturer');//this gets you the label
$_product->getManufacturer(); //gets the manufacturer id

[编辑]
要为所有产品获取此信息,请执行以下操作:

$collection = Mage::getModel('catalog/product')->getCollection()
    ->addAttributeToSelect('manufacturer');
$collection->addAttributeToFilter('status', 1);//optional for only enabled products
$collection->addAttributeToFilter('visibility', 4);//optional for products only visible in catalog and search
foreach ($collection as $product) {
   $sku = $product->getSku();
   $manufacturerId = $product->getManufacturer();
   $manufacturerLabel = $product->getAttributeText('manufacturer');
   //do something with the values above - like write them in a csv or excel
}
于 2013-07-25T11:33:01.790 回答
1

有点晚了,但这就是我想出的。奇迹般有效。

SELECT cpe.sku, cpev.value, cpf1.manufacturer_value 
FROM catalog_product_entity cpe 
JOIN catalog_product_entity_varchar cpev ON cpev.entity_id = cpe.entity_id
JOIN catalog_product_flat_1 cpf1 ON cpf1.entity_id = cpe.entity_id
WHERE cpev.attribute_id = 191
于 2016-03-18T19:05:05.937 回答