2017-06-20 20 views
0

这是我的第一个Magento模型,我遇到了麻烦。我已经浏览了一些Magento核心模块,以便在我正在做的事情中尝试找到错误,并且据我所知,除了名称和表格之外,所有内容都完全相同。getModel返回对象,但在布尔上调用“load()”?

我正在使用Magento 1.9。

下面的代码...

$test = Mage::getModel('employee/user'); 
var_dump($test); 
$test->load($params['id']); 

产量...

object(Dot_Employee_Model_User)#139 (15) { ["_eventPrefix":protected]=> string(13) "core_abstract" ["_eventObject":protected]=> string(6) "object" ["_resourceName":protected]=> string(13) "employee/user" ["_resource":protected]=> NULL ["_resourceCollectionName":protected]=> string(24) "employee/user_collection" ["_cacheTag":protected]=> bool(false) ["_dataSaveAllowed":protected]=> bool(true) ["_isObjectNew":protected]=> NULL ["_data":protected]=> array(0) { } ["_hasDataChanges":protected]=> bool(false) ["_origData":protected]=> NULL ["_idFieldName":protected]=> NULL ["_isDeleted":protected]=> bool(false) ["_oldFieldsMap":protected]=> array(0) { } ["_syncFieldsMap":protected]=> array(0) { } } 
Fatal error: Call to a member function load() on boolean in www.example.com/somePath/app/code/core/Mage/Core/Model/Abstract.php on line 225 

我有以下config.xml中......

<models> 
     <employee> 
      <class>Dot_Employee_Model</class> 
      <resourceModel>employee_resource></resourceModel> 
     </employee> 
     <employee_resource> 
      <class>Dot_Employee_Model_Resource</class> 
      <entities> 
      <ipwhitelist> 
       <table>dot_employee_ipwhitelist</table> 
      </ipwhitelist> 
      <user> 
       <table>dot_employee_user</table> 
      </user> 
      </entities> 
     </employee_resource> 
     </models> 

而且这里有一个例子文件集从我的一个模型...

型号/ Ipwhitelist.php

class Dot_Employee_Model_Ipwhitelist extends Mage_Core_Model_Abstract 
{ 
    protected function _construct() 
    { 
    parent::_construct(); 
    $this->_init('employee/ipwhitelist'); 
    } 
} 

型号/资源/ Ipwhitelist.php

class Dot_Employee_Model_Resource_Ipwhitetable extends Mage_Core_Model_Resource_Db_Abstract 
{ 
    protected function _construct() 
    { 
    $this->_init('employee/ipwhitetable', 'ip_id'); 
    } 
} 

型号/资源/ Ipwhitelist/Collection.php

class Dot_Employee_Model_Mysql4_Ipwhitelist_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract 
    { 
    public function _construct() 
    { 
     $this->_init('employee/ipwhitelist'); 
    } 
    } 

回答

1

变化以下文件 型号/资源/ Ipwhitelist.php

class Dot_Employee_Model_Resource_Ipwhitelist extends Mage_Core_Model_Resource_Db_Abstract 
{ 
protected function _construct() 
    { 
     $this->_init('employee/ipwhitetable', 'ip_id'); 
    } 
} 

你错误地输入了类名作为Ipwhitetable而不是Ipwhitelist。 并且需要验证表名的声明是否正确。

我希望它能帮助你。

+0

这是正确的,但不是问题。 – Allenph

+0

您是否已修复或仍然存在该问题 –

+0

我修复了您指出的问题...仍存在问题。 – Allenph