型号未加载

时间:2017-04-28 13:21:06

标签: database model resources

我创建了一个自定义模块,我想用它来保存数据库中的一些数据。我可以检索模型类,但是当我尝试加载内容时会出错。

我的配置文件:

        <models>
            <credito>
                <class>Sobreescrita_Credito_Model</class>
                <resourceModel>credito_resource</resourceModel>
            </credito>
            <credito_resource>
                <class>Sobreescrita_Credito_Model_Resource</class>
                <entities>
                    <solicitacao>
                        <table>solicitacoes</table>
                    </solicitacao>
                </entities>
            </credito_resource>
        </models>

我的模特课:

<?php
class Sobreescrita_Credito_Model_Solicitacao extends Mage_Core_Model_Abstract
{
    protected function _construct()
    {
        $this->_init('credito/solicitacao');
        Mage::log("model");
    }
}

我的资源类:

<?php
class Sobreescrita_Credito_Model_Resource_Solicitacao extends Mage_Core_Model_Resource_Db_Abstract{
    protected function _construct()
    {
        $this->_init('credito/solicitacao', 'solicitacao_id');
        Mage::log("resource");
    }
}

我的控制器:

public function solicitarAction(){

        echo get_class(Mage::getModel('credito/solicitacao'));
        $solicitacao = Mage::getModel('credito/solicitacao');
        $solicitacao->load(1);
        var_dump($solicitacao->getData());
    }

我的表名是&#39; solicitacoes&#39;我有一行ID是&#39; 1&#39;。

它不起作用。但是,如果我将控制器的最后两行更改为:

//$solicitacao->load(1);
var_dump($solicitacao->getData());

它没有给出错误,但显示如下的空数组:

Sobreescrita_Credito_Model_Solicitacao
C:\wamp64\www\magento\app\code\local\Sobreescrita\Credito\controllers\IndexController.php:24:
array (size=0)
  empty

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

我弄清楚我做了什么。实际上代码一切都很好。我的问题是我使用的扩展名为所有表名添加了一个前缀,我忘记在创建它时在我的表名中添加它