3

我需要创建一个 SQL 查询来以 XML 格式导出我的 Magento 站点产品。

我不知道属性值和产品图像存储在哪里。

现在我的查询是这样的:

SELECT cpe.entity_id, cpe.sku, csi.qty, eav_color.value, eav_talla.value
FROM catalog_product_entity AS cpe
JOIN cataloginventory_stock_item AS csi ON csi.product_id = cpe.entity_id
JOIN catalog_product_entity_int AS eav_color ON eav_color.entity_id = cpe.entity_id
AND eav_color.attribute_id =85
JOIN catalog_product_entity_int AS eav_talla ON eav_talla.entity_id = cpe.entity_id
AND eav_talla.attribute_id =127
WHERE csi.qty >0
AND csi.is_in_stock
AND cpe.type_id =  'simple'
LIMIT 0 , 30

但我正在获取属性 ID(我认为)。我的查询返回这个:

entity_id           sku                 qty value   value
6000            0121011000-RED-L    2.0000     66       5

我得到 66 作为列属性的值和 5 的“talla”属性值。但这些值必须是“RED”和“L”。我不明白在哪个表中存储了这些值。

另一方面,我需要获取产品图片,但我无法确定表格的存储位置。

4

1 回答 1

8

虽然图像有 EAV 属性,但它实际上存储在两个表中。

第一个是catalog_product_entity_media_gallery列:

  • value_id - 当前表的 id
  • attribute_id -eav_attribute表中属性的 id
  • catalog_product_entityentity_id -表中产品的 id
  • value - 文件的路径

第二个是catalog_product_entity_media_gallery_value列:

  • catalog_product_entity_media_galleryvalue_id -行的 id
  • store_id - 商店的 id
  • label - 图像的标签
  • position - 图像列表中的位置
  • disabled - 禁用商店的图像

因此catalog_product_entity_media_gallery为产品定义图像并catalog_product_entity_media_gallery_value处理不同商店视图的设置。

于 2012-09-29T18:47:49.080 回答