MAGENTO:获取 SQL 中子类别中产品的 ID、图像、缩略图和价格
MAGENTO: Get id, image, thumb and price of the products in a subcategory in SQL
我想在 SQL(没有 php)中提取特定子类别中所有产品的 ID、图像 url、拇指 url 和价格Magento.
我正在使用这种方法,但我不知道在哪里可以找到其他信息(价格、图片 url、拇指 url)。
你能帮帮我吗?
这是我的方法:
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;
非常感谢!
最简单的方法是左连接所有
`catalog_product_entity_*` tables that exist in Magento
并使用 catalog_eav_attribute
获取键以将标签附加到 eav 表中的左连接值。
筛选需要的数据后。
如果您想简化连接,请打开数据库调试,在加载产品页面或管理产品页面时检查输出并复制 orm 使用的连接:
m1\lib\Varien\Db\Adapter\Pdo\Mysql.php
第 103 行:
protected $_debug = true;
第 117 行:
protected $_logAllQueries = true;
检查输出:
m1\var\debug\pdo_mysql.log
除了thumb,你可以使用下面的查询,只需将category_id替换成WHERE子句无论您想分析什么类别:
SELECT 不同 catalog_product_entity_media_gallery.entity_id 作为 id
,
catalog_product_entity.sku,
catalog_product_entity_media_gallery.value 作为 image url
,
catalog_product_index_price.price AS price
从 ((magento.catalog_product_entity_media_gallery
catalog_product_entity_media_gallery
内连接 magento.catalog_product_entity catalog_product_entity
开启(catalog_product_entity_media_gallery.entity_id =
catalog_product_entity.entity_id))
内部联接
magento.catalog_product_index_price catalog_product_index_price
开启(catalog_product_index_price.entity_id =
catalog_product_entity.entity_id))
内连接 magento.catalog_category_product catalog_category_product
开(catalog_category_product.product_id =
catalog_product_entity.entity_id)
WHERE (catalog_category_product.category_id
= '23')
按 catalog_product_entity_media_gallery.entity_id ASC
排序
我想在 SQL(没有 php)中提取特定子类别中所有产品的 ID、图像 url、拇指 url 和价格Magento.
我正在使用这种方法,但我不知道在哪里可以找到其他信息(价格、图片 url、拇指 url)。 你能帮帮我吗?
这是我的方法:
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;
非常感谢!
最简单的方法是左连接所有
`catalog_product_entity_*` tables that exist in Magento
并使用 catalog_eav_attribute
获取键以将标签附加到 eav 表中的左连接值。
筛选需要的数据后。
如果您想简化连接,请打开数据库调试,在加载产品页面或管理产品页面时检查输出并复制 orm 使用的连接:
m1\lib\Varien\Db\Adapter\Pdo\Mysql.php
第 103 行:
protected $_debug = true;
第 117 行:
protected $_logAllQueries = true;
检查输出:
m1\var\debug\pdo_mysql.log
除了thumb,你可以使用下面的查询,只需将category_id替换成WHERE子句无论您想分析什么类别:
SELECT 不同 catalog_product_entity_media_gallery.entity_id 作为 id
,
catalog_product_entity.sku,
catalog_product_entity_media_gallery.value 作为 image url
,
catalog_product_index_price.price AS price
从 ((magento.catalog_product_entity_media_gallery
catalog_product_entity_media_gallery
内连接 magento.catalog_product_entity catalog_product_entity
开启(catalog_product_entity_media_gallery.entity_id =
catalog_product_entity.entity_id))
内部联接
magento.catalog_product_index_price catalog_product_index_price
开启(catalog_product_index_price.entity_id =
catalog_product_entity.entity_id))
内连接 magento.catalog_category_product catalog_category_product
开(catalog_category_product.product_id =
catalog_product_entity.entity_id)
WHERE (catalog_category_product.category_id
= '23')
按 catalog_product_entity_media_gallery.entity_id ASC