我在加载处理带有模块的数据库的第二个模型时遇到问题。
我有 1 个控制器ValidateController
和 2 个Main
扩展的模型,Mage_Core_Controller_Front_Action
因此我无法与数据库通信,并且Log
与数据库通信。
当我调用$log = Mage::getModel('modulex/log');
它时它为我提供了正确的路径,get_class($log)
但是当我调用它时$log->load($params['id']);
它失败给我这个错误:
Warning: include(Companyx/Modulex/Model/Resource/Main.php) [function.include]: failed to open stream: No such file or directory
我不明白为什么它会给我这个错误,它应该称之为Resource/Log.php
存在。
我给你看我的 config.xml
<frontend>
<routers>
<modulex>
<use>standard</use>
<args>
<module>Companyx_Modulex</module>
<frontName>modulex</frontName>
</args>
</modulex>
</routers>
</frontend>
<global>
<models>
<modulex>
<class>Companyx_Modulex_Model</class>
<resourceModel>modulex_resource</resourceModel>
</modulex>
<modulex_resource>
<class>Companyx_Modulex_Model_Resource</class>
<entities>
<log>
<table>companyx_modulex_logs</table>
</log>
</entities>
</modulex_resource>
</models>
</global>
感谢您的帮助 !
==== 编辑解决方案 ====使用此代码
创建/resource/Main.php
class Companyx_Modulex_Model_Resource_Main extends Mage_Core_Model_Resource_Db_Abstract
{
protected function _construct()
{
$this->_init('modulex/log', 'id');
}
}
我的错误是在做$this->_init('modulex/main', 'id');
.