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

Php Magento:致命错误:对非对象调用成员函数load(),php,xml,magento,magento-1.12,Php,Xml,Magento,Magento 1.12,我正在创建自己的模块,在我开始创建自己的模型之前,一切都进展顺利 我试图查询我添加的数据库表(其中包含数据),我只想打印数据 当我查看调用模块的页面时,我得到以下消息 致命错误:调用非对象上的成员函数load() 在这条线上 $model = Mage::getResourceModel('facebooklikediscount/facebookcoupon')->load(1); 这是我的config.xml(模型部分) MyModule\u FaceBookLikeDiscove

我正在创建自己的模块,在我开始创建自己的模型之前,一切都进展顺利

我试图查询我添加的数据库表(其中包含数据),我只想打印数据

当我查看调用模块的页面时,我得到以下消息

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

在这条线上

$model = Mage::getResourceModel('facebooklikediscount/facebookcoupon')->load(1);
这是我的config.xml(模型部分)


MyModule\u FaceBookLikeDiscovery\u模型
mymodule\u FaceBookLikeDiscovery\u资源
MyModule\u FaceBookLikeDiscovery\u Model\u资源
mymodule_FaceBookLikeDiscovery_mysql4
salesrule\u优惠券\u facebook
我的模型

<?php

class MyModule_FacebookLikeDiscount_Model_Facebookcoupon extends Mage_Core_Model_Abstract
{
    protected function _construct()
    {
        $this->_init('facebooklikediscount/facebookcoupon');
    }
}

您应该像这样创建模型实例

$model = Mage::getModel('mymodule_facebooklikediscount/facebookcoupon')->load(1);
使用
getModel
而不是
getResourceModel

传递给
getModel
的参数由两部分组成。
斜杠前面的部分是您在
models
标记下的
config.xml
中添加的标记名。在您的情况下,
mymodule\u facebook likediscont

第二部分是要实例化的类名的小写字符串,从中删除在模型的
标记中添加的内容


因此,如果类名是
MyModule\u facebook-likediscount\u Model\u facebook-coupon
,并且在config.xml
class>MyModule\u facebook-likediscount\u Model
中有,那么第二部分是
facebook-coupon
尝试调用getCollection()方法:


模型代码应该是

$model = Mage::getModel('mymodule_facebooklikediscount/facebookcoupon')->load(1);
 protected function _construct()
    {
        $this->_init('mymodule_facebooklikediscoun/facebookcoupon', 'entity_id');
        $this->_storeId = (int)Mage::app()->getStore()->getId();
    }
并且资源确实具有may load()函数

再次

供单一记录使用

      $model = Mage::getModel('mymodule_facebooklikediscount/facebookcoupon')
->load($primary_key);
Model>facebook优惠券.php代码应该是 从

model>resource>facebook.php应该是

$model = Mage::getModel('mymodule_facebooklikediscount/facebookcoupon')->load(1);
 protected function _construct()
    {
        $this->_init('mymodule_facebooklikediscoun/facebookcoupon', 'entity_id');
        $this->_storeId = (int)Mage::app()->getStore()->getId();
    }
由于出现错误“致命错误:调用非对象上的成员函数load()”,如果未正确设置模型集合,则会出现该错误。load函数查找模型资源,然后需要收集模型

查找如何设置资源和集合:


谢谢您的回复。现在,我在C:\www\magento.dev\app\code\core\Mage\core\Model\Abstract.php的第225行收到一条错误消息
致命错误:调用非对象上的成员函数load(),请放入resource Model file谢谢您的回答,但我今天早上又开始了,并使它开始工作。我想应该怪我的config.xml
    resource model load() function is loading total records.It is did not load 
by primary key 
      $model = Mage::getModel('mymodule_facebooklikediscount/facebookcoupon')
->load($primary_key);
protected function _construct()
    {
        $this->_init('facebooklikediscount/facebookcoupon');
    }
to 
protected function _construct()
    {
        $this->_init('mymodule_facebooklikediscount/facebookcoupon');
    }
 protected function _construct()
    {
        $this->_init('mymodule_facebooklikediscoun/facebookcoupon', 'entity_id');
        $this->_storeId = (int)Mage::app()->getStore()->getId();
    }