役に立ちましたか?

解決

各モデルの1つのテーブルを持つモジュールのマルチモデル

モデルの複数モデルの作成は簡単です。define multiple entitiesModule Model resourceModelcorresponding 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>
.

このモデルはモジュールの2つのモデルを与える

  1. Mage::getModel('custommodule/custommoduletwo') //エンティティがCustomModuletwo
  2. Mage::getModel('custommodule/custommoduleone')

    定義クラス の定義のプロセス

    each ModelのMagentoによると、対応するモデル、リソース、コレクションを作成する必要があります class

    モデルクラスモデルMage::getModel('custommodule/custommoduleone')

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

    リソースクラス

    アプリ/コード/コミュニティ/ AMIT / CUSTOMMODULE /モデル/リソース/ custommoduleOne.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');    
        }
    }
    
    .

    2番目のモデル:

    モデルクラス

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

    リソースクラス

    アプリ/コード/コミュニティ/ AMIT / CUSTOMMODULE /モデル/リソース/ CUSTOMMODURETWO.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');    
        }
    }
    
    .

    注:1つのモデルのために複数のテーブルを提供します

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top