在Magento中,我需要运行查询以找出分配了静态块的类别。我知道静态块存储在cms_block
中,也存储在类别中。但是,在数据库中连接这两个的表是什么?或者它是类别表中的外键字段?
答案 0 :(得分:1)
类别是EAV模型,所以,你应该确实看一些表来加入 以下是您要查找的请求:
select cat.*, cms.* from `catalog_category_entity` as cat
join `catalog_category_entity_int` as ci on cat.entity_id = ci.`entity_id`
join `eav_attribute` as att on att.`attribute_id` = ci.`attribute_id`
join `cms_block` as cms on cms.`block_id` = ci.`value`
where att.`attribute_code` = 'landing_page'
如果你想更深入地了解Magento EAV结构,Alan Storm在他的博客上有一篇非常好的文章(像往常一样):http://alanstorm.com/magento_advanced_orm_entity_attribute_value_part_1