TL; DR: ¿Hay alguna forma en Magento 2 de hacer que el método a getTable
partir de un modelo de colección de recursos devuelva el mismo nombre de tabla para 2 parámetros diferentes?
Explicación detallada
Comenzaré con un ejemplo de Magento 1.
Digamos que tengo una tabla llamada module_entiti1_entity2
.
Necesitaba declarar esta tabla en mi config.xml
como este
<module_resource>
<class>....</class>
<entities>
<entity1_entity2>
<table>module_entiti1_entity2</table>
</entity1_entity2>
</entities>
</module_resource>
Entonces puedo obtener el nombre de la tabla de un modelo de colección de recursos, por ejemplo, así:
$collection->getTable('module/entity1_entity2');
Pero si quiero puedo usar múltiples alias para la misma tabla.
Si mi config.xml
sección se convierte
<module_resource>
<class>....</class>
<entities>
<entity1_entity2>
<table>module_entiti1_entity2</table>
</entity1_entity2>
<entity2_entity1>
<table>module_entiti1_entity2</table>
</entity2_entity1>
</entities>
</module_resource>
Puedo recuperar mi mesa de 2 maneras:
$collection->getTable('module/entity1_entity2');
$collection->getTable('module/entity2_entity1');
En Magento 2 no hay más declaración de tabla como la anterior.
Puedo obtener el nombre de mi mesa de esta manera $collection->getTable('module_entity1_entity2')
.
¿Hay alguna manera de decirle a magento que el parámetro module_entity2_entity1
devuelva el mismo nombre de tabla que el parámetro module_entity1_entity2
?
fuente
setMappedTableName
constructor de mi modelo de recursos, debería funcionar, ¿verdad? Ese se llama antes que cualquier otro método de la clase.di.xml
. Si no es posible, implementaré mi propio mecanismo. Pero esto es lo que necesitaba para comenzar. Gracias.