我想在SQL(没有php)中提取Magento中特定子类别中所有产品的id,图片网址,拇指网址和价格。
我正在使用这种方法,但我不知道在哪里可以找到其他信息(价格,图片网址,拇指网址)。 你能帮帮我吗?
这是我的方法:
SELECT *
FROM mg_catalog_product_entity AS p
LEFT JOIN mg_catalog_category_product AS cp
ON p.entity_id = cp.product_id
LEFT JOIN mg_catalog_category_entity AS c
ON cp.category_id = c.entity_id
LEFT JOIN mg_catalog_category_entity_varchar AS cat_varchar
ON c.entity_id = cat_varchar.entity_id AND cat_varchar.attribute_id = 111
LEFT JOIN mg_catalog_product_entity_varchar AS prod_varchar
ON p.entity_id = prod_varchar.entity_id AND prod_varchar.attribute_id = 96
WHERE 1
AND c.entity_id = 4;
非常感谢你!
答案 0 :(得分:1)
最简单的方法是将所有
连接起来`catalog_product_entity_*` tables that exist in Magento
并使用catalog_eav_attribute
获取键以将标签附加到eav表中的左连接值。
过滤所需数据后。
如果要简化连接,请打开数据库调试,在加载产品页面或管理产品页面时检查输出并复制orm使用的连接:
M1 \ lib中\瓦瑞恩\ DB \适配器\ PDO \ Mysql.php
第103行:
protected $_debug = true;
第117行:
protected $_logAllQueries = true;
检查输出:
M1 \变种\调试\ pdo_mysql.log
答案 1 :(得分:1)
您可以对拇指以外的所有内容使用以下查询,只需将 WHERE 子句中的 category_id 替换为您要分析的任何类别:
SELECT DISTINCT catalog_product_entity_media_gallery.entity_id AS id
,
catalog_product_entity.sku,
catalog_product_entity_media_gallery.value AS image url
,
catalog_product_index_price.price AS price
FROM((magento.catalog_product_entity_media_gallery
catalog_product_entity_media_gallery
INNER JOIN magento.catalog_product_entity catalog_product_entity
ON(catalog_product_entity_media_gallery.entity_id =
catalog_product_entity.entity_id))
内部联接
magento.catalog_product_index_price catalog_product_index_price
ON(catalog_product_index_price.entity_id =
catalog_product_entity.entity_id))
INNER JOIN magento.catalog_category_product catalog_category_product
ON(catalog_category_product.product_id =
catalog_product_entity.entity_id)
WHERE(catalog_category_product。 category_id
=' 23 ')
ORDER BY catalog_product_entity_media_gallery.entity_id ASC