TL; DR: Existe - t-il un moyen dans Magento 2 pour que la méthode à getTable
partir d'un modèle de collection de ressources renvoie le même nom de table pour 2 paramètres différents?
Explication détaillée
Je vais commencer par un exemple de Magento 1.
Disons que j'ai un tableau appelé module_entiti1_entity2
.
Je devais déclarer cette table dans mon config.xml
comme ça
<module_resource>
<class>....</class>
<entities>
<entity1_entity2>
<table>module_entiti1_entity2</table>
</entity1_entity2>
</entities>
</module_resource>
Ensuite, je peux obtenir le nom de la table à partir d'un modèle de collecte de ressources, par exemple comme ceci:
$collection->getTable('module/entity1_entity2');
Mais si je veux, je peux utiliser plusieurs alias pour la même table.
Si ma config.xml
section devient
<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>
Je peux récupérer ma table de 2 manières:
$collection->getTable('module/entity1_entity2');
$collection->getTable('module/entity2_entity1');
Dans Magento 2, il n'y a plus de déclaration de table comme ci-dessus.
Je peux obtenir mon nom de table comme ceci $collection->getTable('module_entity1_entity2')
.
Existe-t-il un moyen de dire à magento que le paramètre module_entity2_entity1
renvoie le même nom de table que le paramètre module_entity1_entity2
?
setMappedTableName
de mon modèle de ressource, cela devrait fonctionner, non? Celui-ci est appelé avant toute autre méthode de la classe.