Gga*_*Gga 1 sql magento entity-attribute-value magento-1.7
我希望直接在 Magento 数据库上编写一个 SQL 查询,该查询获取所有具有“单独不可见”可见性属性的简单产品,我认为其值为 1。
有人能帮忙吗?到目前为止我发现可见性值是在表中设置的
Catalog_product_entity_int
但一直无法取得进一步的进展。谢谢
如果没有 ORM,不这样做的原因有很多,所有这些都可能(或可能不)适用于您的需求(存储过滤器、从正确的表中读取数据等)。至少,您可以使用产品集合对象来构建要运行的查询:
$coll = Mage::getModel('catalog/product')->getCollection();
$coll->addAttributeToFilter('visibility' , Mage_Catalog_Model_Product_Visibility::VISIBILITY_NOT_VISIBLE);
echo $coll->getSelect();
Run Code Online (Sandbox Code Playgroud)
结果查询将如下所示:
SELECT `e`.*, IF(at_visibility.value_id > 0, at_visibility.value, at_visibility_default.value) AS `visibility`
FROM `catalog_product_entity` AS `e`
INNER JOIN `catalog_product_entity_int` AS `at_visibility_default`
ON (`at_visibility_default`.`entity_id` = `e`.`entity_id`)
AND (`at_visibility_default`.`attribute_id` = '526')
AND `at_visibility_default`.`store_id` = 0
LEFT JOIN `catalog_product_entity_int` AS `at_visibility` ON (`at_visibility`.`entity_id` = `e`.`entity_id`)
AND (`at_visibility`.`attribute_id` = '526')
AND (`at_visibility`.`store_id` = 1)
WHERE (IF(at_visibility.value_id > 0, at_visibility.value, at_visibility_default.value) = '1')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12296 次 |
| 最近记录: |