我正在尝试在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管理产品制造商进行比较时,它不等于产品制造商。
我的问题是,我该怎么做才能进行查询,这样我就可以获得该产品的制造商列表,以便sql join
catalog_product_enity
SKU
。{ / p>
有没有人对我的案子有所了解?我是magento的新人所以请对我温柔。 任何帮助将不胜感激,提前致谢
答案 0 :(得分: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
}
答案 1 :(得分: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