我正在学习Alan关于Magento模型与ORM基础的教程,我遇到了一个小问题。当我第一次从模型加载到这个部分时,我得到了这个错误“致命错误:调用非对象上的成员函数load()”。我已经重新设置了一切,从头再试,但我仍然遇到同样的问题。我的代码如下所示:
$params = $this->getRequest()->getParams();
$blogpost = Mage::getModel('weblog/blogpost');
var_dump($blogpost);
echo("Loading the blogpost with an ID of ".$params['id']);
$blogpost->load($params['id']);如您所见,我转储了$blogpost的内容,这表明它只是一个布尔错误。我的猜测是,与数据库的连接可能有问题,或者由于某种原因,Mage::getModel()的代码没有正确安装。
编辑-添加代码
太多了,所以我决定把它们涂掉
app/code/local/Ahathaway/Weblog/controllers/IndexController.php
app/code/local/Ahathaway/Weblog/etc/config.xml
app/code/local/Ahathaway/Weblog/Model/Blogpost.php
Weblog.xml
发布于 2010-08-19 21:13:05
您的Model/Blogpost.php文件实际上应该是Model/Mysql4 4/Blogpost.php,您缺少的是真正的Model/Blogpost.php。
发布于 2010-08-19 20:03:00
我猜那个法师找不到你的模型类。再次检查模块/模型名,并验证模型在文件系统中的位置是否正确(应该在app/code/local/Weblog/ model /Blogpost.php中)。
您还需要检查config.xml是否正确地定义了模型类。如果你能通过你的config.xml和你的模型类.
发布于 2010-08-20 15:53:50
快速浏览一下就会发现您缺少模型资源。回到下面代码示例的部分
File: app/code/local/Alanstormdotcom/Weblog/Model/Mysql4/Blogpost.php
class Alanstormdotcom_Weblog_Model_Mysql4_Blogpost extends Mage_Core_Model_Mysql4_Abstract{
protected function _construct()
{
$this->_init('weblog/blogpost', 'blogpost_id');
}
}https://stackoverflow.com/questions/3525578
复制相似问题