TL; DR: Existe alguma maneira no Magento 2 de fazer o método a getTable
partir de um modelo de coleção de recursos para retornar o mesmo nome de tabela para 2 parâmetros diferentes?
Explicação detalhada
Vou começar com um exemplo do Magento 1.
Digamos que tenho uma tabela chamada module_entiti1_entity2
.
Eu precisava declarar esta tabela no meu config.xml
assim
<module_resource>
<class>....</class>
<entities>
<entity1_entity2>
<table>module_entiti1_entity2</table>
</entity1_entity2>
</entities>
</module_resource>
Então eu posso obter o nome da tabela de um modelo de coleção de recursos, por exemplo, assim:
$collection->getTable('module/entity1_entity2');
Mas se eu quiser, posso usar vários aliases para a mesma tabela.
Se minha config.xml
seção se tornar
<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>
Posso recuperar minha mesa de duas maneiras:
$collection->getTable('module/entity1_entity2');
$collection->getTable('module/entity2_entity1');
No Magento 2 não há mais declaração de tabela como acima.
Eu posso pegar o nome da minha tabela assim $collection->getTable('module_entity1_entity2')
.
Existe uma maneira de dizer ao magento que o parâmetro module_entity2_entity1
retorne o mesmo nome de tabela que o parâmetro module_entity1_entity2
?
fonte
setMappedTableName
construtor no meu modelo de recursos, ele deve funcionar, certo? Esse é chamado antes de qualquer outro método da classe.di.xml
. Se não for possível, implementarei meu próprio mecanismo. Mas é isso que eu precisava para começar. Obrigado.