Magento从数据库中获取所有图像

Magento从数据库中获取所有图像,magento,magento-1.4,entity-attribute-value,Magento,Magento 1.4,Entity Attribute Value,我一直在搜索该查询以获取产品的图像URL(图像库中的所有图像,而不仅仅是小图像/缩略图)。我找到了这个查询 select * from catalog_product_entity_media_gallery AS mg, catalog_product_entity_media_gallery_value AS mgv, catalog_product_entity_varchar AS ev WHERE mg.value_id =mgv.value_id AND mg.entity_id =

我一直在搜索该查询以获取产品的图像URL(图像库中的所有图像,而不仅仅是小图像/缩略图)。我找到了这个查询

select * from catalog_product_entity_media_gallery AS mg, catalog_product_entity_media_gallery_value AS mgv, catalog_product_entity_varchar AS ev WHERE mg.value_id =mgv.value_id AND mg.entity_id = ev.entity_id AND ev.attribute_id IN (85,86,87) AND mgv.position = 1

但这不适用于magento 1.4。非常感谢您的帮助。

例如,您可以尝试获取小图像路径

select * from catalog_product_entity_varchar
where entity_id = 20 /*Optional your attribute*/
and attribute_id  = 86 ;/*small image*/
字段值将显示图像的特定路径

例如C:\wamp\www\magento\media\catalog\product\value(来自catalog\u product\u entity\u varchar的字段)


如果要查找其他图像,应检查表eav_属性

以下sql指令显示基本图像、小图像和缩略图的路径

SELECT  `a`.`entity_id`,  `a`.`sku`, `b`.`value` AS `base_image`, `a`.`small_image`,  `a`.`thumbnail` FROM `catalog_product_flat_10` a, 
`catalog_product_entity_media_gallery` b WHERE a.entity_id = b.entity_id LIMIT 1000;

这对Magento 2来说应该很有用

SELECT e.entity_id AS 'id',
       e.sku AS 'sku',
       v2.value AS 'image',
       v3.value AS 'thumbnail',
       v4.value AS 'small image',
       mg.value AS 'media_gallery'
FROM catalog_product_entity e
LEFT JOIN catalog_product_entity_varchar v2 ON e.entity_id = v2.row_id
AND v2.store_id = 0
AND v2.attribute_id =
  (SELECT attribute_id
   FROM eav_attribute
   WHERE attribute_code = 'image'
     AND entity_type_id =
       (SELECT entity_type_id
        FROM eav_entity_type
        WHERE entity_type_code = 'catalog_product'))
LEFT JOIN catalog_product_entity_varchar v3 ON e.entity_id = v3.row_id
AND v3.store_id = 0
AND v3.attribute_id =
  (SELECT attribute_id
   FROM eav_attribute
   WHERE attribute_code = 'thumbnail'
     AND entity_type_id =
       (SELECT entity_type_id
        FROM eav_entity_type
        WHERE entity_type_code = 'catalog_product'))
LEFT JOIN catalog_product_entity_varchar v4 ON e.entity_id = v4.row_id
AND v4.store_id = 0
AND v4.attribute_id =
  (SELECT attribute_id
   FROM eav_attribute
   WHERE attribute_code = 'small_image'
     AND entity_type_id =
       (SELECT entity_type_id
        FROM eav_entity_type
        WHERE entity_type_code = 'catalog_product'))
LEFT JOIN
  (SELECT m1.value_id AS m1_value_id, GROUP_CONCAT(m2.value) AS VALUE, m2.value_id AS m2_value_id, m1.row_id AS m1_row_id
   FROM catalog_product_entity_media_gallery_value m1
   INNER JOIN catalog_product_entity_media_gallery m2 ON m2.value_id = m1.value_id
   AND m2.attribute_id =
     (SELECT attribute_id
      FROM eav_attribute
      WHERE attribute_code = 'media_gallery'
        AND entity_type_id =
          (SELECT entity_type_id
           FROM eav_entity_type
           WHERE entity_type_code = 'catalog_product'))
   GROUP BY m1.row_id) mg ON e.entity_id = m1_row_id
WHERE e.sku IN
(
"sku1",
"sku2",
"sku3"
);

仅仅是借用陈的精彩回答(这帮助我找到了我需要去的地方,谢谢你,巴德!)

您可以按值和SKU对_concat进行分组,以获得丰富的附加图像列


我知道我们已经过了M1支持的阶段,但希望这能对其他人有所帮助。

您好,我要求您提供随产品SKU上传到magento的所有图像(图库图像、小图像/缩略图图像)。如果我们能够得到这些图片的网址,那将是伟大的
SELECT  `a`.`entity_id`,  `a`.`sku`, 
concat('https://yoururl/media/catalog/product',`b`.`value`) AS `base_image`, 
concat('https://yoururl/media/catalog/product',`a`.`small_image`) AS `small_image`,  
concat('https://yoururl/media/catalog/product',`a`.`thumbnail`) AS `thumbnail`, 
group_concat(concat('https://yoururl/media/catalog/product', `b`.`value`)) AS `additional_images` FROM `catalog_product_flat_1` a, 
`catalog_product_entity_media_gallery` b WHERE a.entity_id = b.entity_id
GROUP BY `a`.`sku`;