TL; DR: Gibt es in Magento 2 getTable
eine Möglichkeit , die Methode aus einem Ressourcensammlungsmodell zu erstellen, um denselben Tabellennamen für zwei verschiedene Parameter zurückzugeben?
Detaillierte Erklärung
Ich beginne mit einem Beispiel aus Magento 1.
Nehmen wir an, ich habe eine Tabelle mit dem Namen module_entiti1_entity2
.
Ich musste diese Tabelle in meinem config.xml
so deklarieren
<module_resource>
<class>....</class>
<entities>
<entity1_entity2>
<table>module_entiti1_entity2</table>
</entity1_entity2>
</entities>
</module_resource>
Dann kann ich den Tabellennamen aus einem Ressourcensammlungsmodell wie folgt abrufen:
$collection->getTable('module/entity1_entity2');
Aber wenn ich möchte, kann ich mehrere Aliase für dieselbe Tabelle verwenden.
Wenn mein config.xml
Abschnitt wird
<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>
Ich kann meine Tabelle auf zwei Arten abrufen:
$collection->getTable('module/entity1_entity2');
$collection->getTable('module/entity2_entity1');
In Magento 2 gibt es keine Tabellendeklaration mehr wie oben.
Ich kann meinen Tischnamen so bekommen $collection->getTable('module_entity1_entity2')
.
Gibt es eine Möglichkeit, Magento mitzuteilen, dass für den Parameter module_entity2_entity1
derselbe Tabellenname wie für den Parameter zurückgegeben werden soll module_entity1_entity2
?
quelle
setMappedTableName
sollte es funktionieren, wenn ich den in meinem Ressourcenmodell verwendeten Konstruktor verwende, oder? Dieser wird vor jeder anderen Methode aus der Klasse aufgerufen.di.xml
. Wenn es nicht möglich ist, werde ich meinen eigenen Mechanismus implementieren. Aber das ist es, was ich brauchte, um anzufangen. Vielen Dank.