代码之家  ›  专栏  ›  技术社区  ›  Aaron Hathaway

Magento-设置模型读取适配器时出现问题

  •  1
  • Aaron Hathaway  · 技术社区  · 16 年前

    我一直在学习艾伦·斯托姆关于 Magento's Model and ORM basics 我遇到了一个小问题。当我第一次从模型中加载时,我得到了这个错误“致命错误:调用非对象上的成员函数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的内容,它表明它只是一个布尔值false。我的猜测是,要么是与数据库的连接有问题,要么是由于某种原因,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

    app/etc/modules/Ahathaway_Weblog.xml

    3 回复  |  直到 15 年前
        1
  •  2
  •   Anders Thirsgaard Rasmussen    16 年前

    您的model/blogpost.php文件实际上应该是model/mysql4/blogpost.php,并且您缺少真正的model/blogpost.php。

        2
  •  1
  •   silvo    16 年前

    我猜法师找不到你的模型类。仔细检查模块/模型名称,并验证模型是否在文件系统中的正确位置(它应该在app/code/local/weblog/model/blogpost.php中)。

    您还需要检查config.xml是否正确地定义了模型类。最好是通过config.xml和模型类…

        3
  •  1
  •   Alana Storm    16 年前

    快速浏览会发现您缺少模型资源。返回以下代码示例的相关部分

    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');
        }   
    }
    
    推荐文章