2017-06-20 1 views
0

Dies ist mein erstes Magento-Modell, und ich habe Probleme. Ich habe einige der Magento-Kernmodule durchsucht, um zu versuchen, den Fehler in dem, was ich mache, zu finden, und soweit ich das beurteilen kann, ist alles genau dasselbe wie für die Namen und die Tabellen.getModel gibt Objekt zurück, aber "load()" wird auf Boolean aufgerufen?

Ich arbeite mit Magento 1.9.

Der folgende Code ...

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

Renditen ...

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 

ich folgendes config.xml haben ...

<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> 

Und hier ist ein Beispiel Datei-Set von einem meiner Modelle ...

Modell/Ipwhitelist.php

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

Modell/Ressourcen/Ipwhitelist.php

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

Modell/Ressource/Ipwhitelist/Collection.php

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

Antwort

1

ändern die folgende Datei Modell/Ressourcen/Ipwhitelist.php

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

Sie haben falsch eingegeben, den Klassennamen als Ipwhitetable statt Ipwhitelist. Und müssen überprüfen, ob die Namen der Tabellen korrekt sind.

Ich hoffe, es wird Ihnen helfen.

+0

Das war richtig, aber war nicht das Problem. – Allenph

+0

Haben Sie dieses Problem behoben oder haben Sie noch immer Probleme? –

+0

Ich habe das Problem behoben, auf das Sie hingewiesen haben ... habe immer noch das Problem. – Allenph

Verwandte Themen