Magento error: call to member function on a non-object

Magento error: call to member function on a non-object

我收到此错误消息:

Fatal error: Call to a member function load() on a non-object in /home/autoco/public_html/shop/app/code/core/Mage/Core/Model/Abstract.php on line 225

如何解决这个问题?

<config>
<modules>
    <Becker_Tec>
        <version>1.0.0</version>
    </Becker_Tec>
</modules>
<global>
    <models>
        <tec>
            <class>Becker_Tec_Model</class>
            <resourceModel>tec_resource</resourceModel>
            <tec_resource>
                <class>Becker_Tec_Model_Resource</class>
                <entities>
                    <manufacturers>
                        <table>tof_manufacturers</table>
                    </manufacturers>
                </entities>
            </tec_resource>
        </tec>
    </models>
</global>
<frontend>
    <routers>
        <becker_tec>
            <use>standard</use>
            <args>
                <module>Becker_Tec</module>
                <frontName>tecdoc</frontName>
            </args>
        </becker_tec>
    </routers>
 </frontend>
</config>

型号class:

<?php
class Becker_Tec_Model_Manufacturers extends Mage_Core_Model_Abstract
{

  protected function _construct()
   {
    $this->_init('tec/manufacturers');
   }
  public function test(){
    $this->getCollection()->load(15);
  }

}

资源class:

<?php

class Becker_Tec_Model_Resource_Manufacturers extends    Mage_Core_Model_Resource_Db_Abstract {

  protected function _construct()
   {
    $this->_init('tec/manufacturers', 'tof_manufacturers_id');
   }

} 

测试页:

<?php

require_once("app/Mage.php");

Mage::app();

$data = Mage::getModel("tec/manufacturers");
$data->load(136);
print_r($data);
<tec_resource>

是罪魁祸首,因为它无法识别如何接通您的电话。

首先使用相同的命名约定,以免把自己逼疯。

配置xml型号部分:

<models>
    <becker_tec>
        <class>Becker_Tec_Model</class>
        <resourceModel>becker_tec_resource</resourceModel>
    </becker_tec>
    <becker_tec_resource>
        <class>Becker_Tec_Model_Resource</class>
        <entities>
            <becker_tec>
                <table>becker_tec</table>
            </becker_tec>
        </entities>
    </becker_tec_resource>
</models>

型号Class:

class Becker_Tec_Model_Tec extends Mage_Core_Model_Abstract 
{
    protected function _construct()
    {
        $this->_init( 'becker_tec/tec' );
    }   

资源class:

class Becker_Tec_Model_Tec_Resource_Tec extends Mage_Core_Model_Resource_Db_Abstract
{
    protected function _construct()
    {
        $this->_init( 'becker_tec/tec', 'entity_id' );
    }

Collection class:(如果你想使用内置的collection机制)

class Becker_Tec_Model_Tec_Resource_Tec_Collection extends Mage_Core_Model_Resource_Db_Collection_Abstract
{
    public function _construct()
    {
        parent::_construct();
        $this->_init( 'becker_tec/tec' );
    }

将它们放在适当的文件夹中,您就可以调用:

$oTec = Mage::getModel( 'becker_tec/tec' );