Magento从数据库中获取所有图像
我一直在搜索该查询以获取产品的图像URL(图像库中的所有图像,而不仅仅是小图像/缩略图)。我找到了这个查询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 =
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`;