SQLSTATE [42S22]:找不到列:1054未知列' eav_attribute_option.option_id'在' on条款'

时间:2015-02-28 19:12:20

标签: magento-1.7

我正在使用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'

请建议..

1 个答案:

答案 0 :(得分:0)

有一件事可能只是你连接到错误的数据库,但我认为你不是。

Magento中的一个小问题是它使用了Zend Framework(在某些方面)。 Zend有这个“功能”,它可以缓存数据库的方案。即使您在Magento中禁用了缓存,Zend仍会缓存此问题(即使所有缓存都已关闭,这样您的var/cache - 文件夹中也会有一些文件。)

当您手动更改数据库时,您必须始终做的一件事就是删除整个缓存文件夹(rm var/cache)。这可能会解决您的问题。

然而,它仍然很奇怪,因为eav_attribute_option应该带有默认安装,但我希望这对你有所帮助。