当您致电Mage::getModel('catalog/category')
或Mage::getModel('catalog/product')
时,是从平面数据还是_entity
表加载?
管理员中有一个选项可让您“使用”平面数据,我想知道这是否与::getModel()
电话有关。
答案 0 :(得分:4)
catalog/category
模型是EAV模型。在默认的Magento配置中,其数据存储在
catalog_category_entity
catalog_category_entity_datetime
catalog_category_entity_decimal
catalog_category_entity_int
catalog_category_entity_text
catalog_category_entity_varchar
catalog/category
模型在System -> Configuration -> Catalog -> Use Flat Catalog Category
中也有一个“平面目录”功能。启用此功能后,catalog/category
模型将从其中一个平面类别中提取数据
catalog_category_flat_store_*
无论哪种方式,您都可以使用catalog/category
集合对象以您认为合适的方式查询此数据,包括addAttributeToFilter
方法。
$collection = Mage::getModel('catalog/category')
->getCollection()
->addAttributeToSelect('*');
$collection->addAttributeToFilter(
'url_path', array('like' => 'apparel%')
);
foreach($collection as $item)
{
var_dump($item->getData());
}