1

这是我的 config.xml 当我显示 $blogpost 时,它没有显示任何内容。我不知道为什么模型不返回我数据库中的数据。它显示此错误:

致命错误:在非对象上调用成员函数 load()

<global>    
<frontend>
    <routers>
        <weblog>
            <use>standard</use>
            <args>
                <module>Magentotutorial_Weblog</module>
                <frontName>weblog</frontName>
            </args>
        </weblog>
    </routers>
</frontend>


<models>
    <weblog>
        <class>Magentotutorial_Weblog_Model</class>
        <resourceModel>weblog_resource</resourceModel>
    </weblog>

    <weblog_resource>
        <class>Magentotutorial_Weblog_Model_Resource</class>
    </weblog_resource>
</models>

控制器

<?php

class Magentotutorial_Weblog_IndexController extends Mage_Core_Controller_Front_Action {
    public function testModelAction() {
        $params = $this->getRequest()->getParams();
        $blogpost = Mage::getModel('weblog/blogpost');
        echo("Loading the blogpost with an ID of ".$params['id']);
        $blogpost->load($params['id']);
        $data = $blogpost->getData();
        var_dump($data);
    }
}

博文模型

class Magentotutorial_Weblog_Model_Blogpost extends Mage_Core_Model_Abstract
{
    protected function _construct()
    {
        $this->_init('weblog/blogpost');
    }
}
4

1 回答 1

3

替换 app/code/local/Magentotutorial/Weblog/etc/config.xml 中的以下代码

<weblog_resource>
        <class>Magentotutorial_Weblog_Model_Resource</class>
</weblog_resource>

<weblog_resource>
         <class>Magentotutorial_Weblog_Model_Resource</class>
            <entities>
                <blogpost>
                    <table>blog_posts</table>
                </blogpost>
            </entities>
    </weblog_resource>

在 app/code/local/Magentotutorial/Weblog/Model/Resource/ 创建 Blogpost.php

将以下代码放入 Blogpost.php 文件中

<?php
class Magentotutorial_Weblog_Model_Resource_Blogpost extends Mage_Core_Model_Resource_Db_Abstract{
    protected function _construct()
    {
        $this->_init('weblog/blogpost', 'blogpost_id');
    }
}

运行你的代码..

欲了解更多信息:-点击这里

于 2014-07-11T07:44:50.737 回答