我正在使用magento创建自定义模块,并使用以下查询从两个表中获取数据:
$collection = Mage::getModel('citycountry/citycountry')->getCollection();
$collection->getSelect()->join('eav_attribute_option_value',
'eav_attribute_option.option_id=eav_attribute_option_value.option_id',
array('value'));
比得到错误:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'eav_attribute_option.option_id' in 'on clause'
请建议..
答案 0 :(得分:0)
有一件事可能只是你连接到错误的数据库,但我认为你不是。
Magento中的一个小问题是它使用了Zend Framework(在某些方面)。 Zend有这个“功能”,它可以缓存数据库的方案。即使您在Magento中禁用了缓存,Zend仍会缓存此问题(即使所有缓存都已关闭,这样您的var/cache
- 文件夹中也会有一些文件。)
当您手动更改数据库时,您必须始终做的一件事就是删除整个缓存文件夹(rm var/cache
)。这可能会解决您的问题。
然而,它仍然很奇怪,因为eav_attribute_option
应该带有默认安装,但我希望这对你有所帮助。