【问题标题】:magento collection of a model isnt loaded未加载模型的magento集合
【发布时间】:2015-11-17 04:06:51
【问题描述】:

我想在我的代码中加载一个名为 Repository 的模型。模型脚本将数据正确插入到数据库中,主键设置为“repository_id”。但是,我无法读取我的数据,所以我可能会遇到问题,但我不知道在哪里。 致电:

 $repos = Mage::getModel('Module/repository')->getCollection();
    var_dump($repos); // bool false
    $repos = Mage::getResourceModel('Module/repository_collection');
    var_dump($repos); // bool false

        $repos = Mage::getModel('Module/repository')->getResourceCollection(); // error Mage registry key "_resource_singleton/Module/repository" already exists
        var_dump($repos); 

app/code/local/Company/Module/Model/Mysql4/Resource/Repository/Collection.php

class Company_Module_Model_Resource_Repository_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
{
    public function _construct()
    {
        $this->_init('Module/repository');
    }

}

app/code/local/Company/Module/Model/Mysql4/Resource/Repository.php

class Company_Module_Model_Resource_Repository extends Mage_Core_Model_Mysql4_Abstract
{
    protected function _construct()
    {
        $this->_init('Module/repository', 'repository_id');
    }

}

app/code/local/Company/Module/Model/Repository.php

class Company_Module_Model_Repository extends Mage_Core_Model_Abstract
{

    public function _construct()
    {
        $this->_init('Module/repository');
    }


}

app/code/local/Company/Module/etc/config.xml

<config>
    <global>
        <models>
            <Module>
                <class>Company_Module_Model</class>
                <resourceModel>company_module_resource</resourceModel>
            </Module>
            <company_module_resource>
                <class>Company_Module_Model_Resource</class>
                <entities>
                    <repository>
                        <table>company_repository</table>
                    </repository>
                </entities>
            </company_module_resource>
        </models>
    </global>
</config> 

编辑:我忘了提到我使用的是 magento 1.4,这就是我使用 mysql4 资源的原因。 谢谢

【问题讨论】:

    标签: php magento


    【解决方案1】:

    您在类名中忘记了 Mysql4
    配置:

            <company_module_resource>
                <class>Company_Module_Model_Mysql4_Resource</class>
                <entities>
                    <repository>
                        <table>company_repository</table>
                    </repository>
                </entities>
            </company_module_resource>
    

    型号:

        Company_Module_Model_Mysql4_Resource_Repository_Collection
        Company_Module_Model_Mysql4_Resource_Repository
    

    【讨论】:

    • 我不知道我的别名有什么问题,我正在扩展一个 mysql4 类,但它可以工作。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    • 2013-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-01
    相关资源
    最近更新 更多