由此 更改管理网格集合的表名称 线索一出,一个疑点就产生了。

如果我们在自定义模块中使用了 2 个表,如何判断在准备集合方法中应该使用哪个表?

热切等待您的回复!

有帮助吗?

解决方案

一个模块有多个模型,每个模型有一个表

为模型创建多个模型很容易。您需要 define multiple entities 给你的 Module Model resourceModel 和它 corresponding entity entity_id Table.

例子:

        <custommodule_resource>
            <class>Amit_Custommodule_Model_Resource</class>
            <entities>
                <custommoduleone>
                    <table>custommoduleTestOne</table>
                </custommoduleone>
        <custommoduletwo>
                    <table>custommoduleTestTwo</table>
        </custommoduletwo>
            </entities>
        </custommodule_resource>

模块的完整型号代码:

<models>
    <custommodule>
    <class>Amit_Custommodule_Model</class>
    <resourceModel>custommodule_resource</resourceModel>
    </custommodule>
    <custommodule_resource>
    <class>Amit_Custommodule_Model_Resource</class>
    <entities>
        <custommoduleone>
        <table>custommoduleTestOne</table>
        </custommoduleone>
        <custommoduletwo>
        <table>custommoduleTestTwo</table>
        </custommoduletwo>
    </entities>
    </custommodule_resource>
</models>

该模型为您提供了两个模块模型

  1. Mage::getModel('custommodule/custommoduletwo') // 作为实体是custommoduletwo
  2. Mage::getModel('custommodule/custommoduleone')

定义类的过程

根据 magento 的说法 each Model required 需要创建对应的 模型、资源、集合 班级

模型类 对于模型 Mage::getModel('custommodule/custommoduleone')

<?php
class Amit_Custommodule_Model_Custommoduleone extends Mage_Core_Model_Abstract
{
    public function _construct()
    {
        $this->_init('custommodule/custommoduleone');
    }

}

资源类

app/code/community/amit/cuncommodule/model/resource/cuncomboomone.php- 更多信息请访问:

<?php
class Amit_Custommodule_Model_Resource_Custommoduleone extends Mage_Core_Model_Resource_Db_Abstract
{
    /**
     * Initialize resource model
     *
     * @return void
     */
    public function _construct()
    {
        $this->_init('custommodule/custommoduleone', 'table_Primarykey');
    }
}

收藏类:

采集文件路径为 Collection.php 应用程序/代码/社区/Amit/Custommodule/模型/资源/Custommoduleone

<?php
class Amit_Custommodule_Model_Resource_Custommoduleone_Collection
extends Mage_Core_Model_Resource_Db_Collection_Abstract{
    protected function _constuct(){
        $this->_init('custommodule/custommoduleone');    
    }
}

第二种型号:

模型类

<?php
class Amit_Custommodule_Model_CustommoduleTwo extends Mage_Core_Model_Abstract
{
    public function _construct()
    {
        $this->_init('custommodule/custommoduletwo');
    }

}

资源类

应用程序/代码/社区/Amit/Custommodule/Model/Resource/Custommoduletwo.php

<?php
class Amit_Custommodule_Model_Resource_Custommoduletwo extends Mage_Core_Model_Resource_Db_Abstract
{
    /**
     * Initialize resource model
     *
     * @return void
     */
    public function _construct()
    {
        $this->_init('custommodule/custommoduletwo', 'table_Primarykey');
    }
}

收藏类:

采集文件路径为 Collection.php 应用程序/代码/社区/Amit/Custommodule/模型/资源/Custommoduletwo

<?php
class Amit_Custommodule_Model_Resource_Custommoduletwo_Collection
extends Mage_Core_Model_Resource_Db_Collection_Abstract{
    protected function _constuct(){
        $this->_init('custommodule/custommoduletwo');    
    }
}

注意:我很快就会为一个模型提供多个表

许可以下: CC-BY-SA归因
scroll top