Pregunta

A partir de este Cambio de nombre de la tabla de administración de la cuadrícula de colecciones hilo, uno duda de que ha llegado a ser.

Si hemos estado utilizando 2 tabla en nuestro módulo personalizado, ¿cómo decirle a la tabla que debe tomar en preparar método de colección?

Eagarly a la espera de su respuesta!

¿Fue útil?

Solución

Múltiples modelos para un módulo con Una Tabla para cada Modelo

La creación de Múltiples modelos un modelo es fácil.usted necesita define multiple entities a su Module Model resourceModel y corresponding entity entity_id Table.

Ejemplo:

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

Modelo completo de código para el Módulo:

<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>

Este modelo dará dos modelos para un módulo de

  1. Mage::getModel('custommodule/custommoduletwo') // como entidades es custommoduletwo
  2. Mage::getModel('custommodule/custommoduleone')

Proceso de definir la clase

De acuerdo con magento para each Model necesidades requeridas para crear los Correspondientes Modelo De Recurso De,Colección De clase

Modelo de clase para el modelo Mage::getModel('custommodule/custommoduleone')

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

}

Clase de recursos

app/code/community/Amit/Custommodule/Model/Resource/Custommoduleone.php - Ver más en:

<?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');
    }
}

Clase de colección:

Colección de ruta de acceso del archivo Collection.php app/code/comunidad/Amit/Custommodule/Modelo/Recursos/Custommoduleone

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

Segundo modelo:

Modelo de clase

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

}

Clase de recursos

app/code/community/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');
    }
}

Clase de colección:

Colección de ruta de acceso del archivo Collection.php app/code/comunidad/Amit/Custommodule/Modelo/Recursos/Custommoduletwo

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

Nota:voy a dar varias tablas para un modelo shorly

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top