Php Magento:致命错误:对非对象调用成员函数load()
我正在创建自己的模块,在我开始创建自己的模型之前,一切都进展顺利 我试图查询我添加的数据库表(其中包含数据),我只想打印数据 当我查看调用模块的页面时,我得到以下消息 致命错误:调用非对象上的成员函数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
$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.xmlclass>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();
}