TL; DR: Apakah ada cara di Magento 2 untuk membuat metode getTable
dari model pengumpulan sumber daya untuk mengembalikan nama tabel yang sama untuk 2 parameter yang berbeda?
Penjelasan Rinci
Saya akan mulai dengan contoh dari Magento 1.
Katakanlah saya memiliki tabel yang disebut module_entiti1_entity2
.
Saya perlu mendeklarasikan tabel ini dalam bentuk config.xml
seperti ini
<module_resource>
<class>....</class>
<entities>
<entity1_entity2>
<table>module_entiti1_entity2</table>
</entity1_entity2>
</entities>
</module_resource>
Maka saya bisa mendapatkan nama tabel dari model pengumpulan sumber daya misalnya seperti ini:
$collection->getTable('module/entity1_entity2');
Tetapi jika saya mau, saya bisa menggunakan banyak alias untuk tabel yang sama.
Jika config.xml
bagian saya menjadi
<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>
Saya dapat mengambil meja saya dengan 2 cara:
$collection->getTable('module/entity1_entity2');
$collection->getTable('module/entity2_entity1');
Di Magento 2 tidak ada lagi deklarasi tabel seperti di atas.
Saya bisa mendapatkan nama tabel saya seperti ini $collection->getTable('module_entity1_entity2')
.
Apakah ada cara untuk memberitahu magento bahwa untuk parameter module_entity2_entity1
untuk mengembalikan nama tabel yang sama dengan parameter module_entity1_entity2
?
sumber
setMappedTableName
konstruktor model sumber daya saya itu harus berfungsi, kan? Yang dipanggil sebelum metode lain dari kelas.di.xml
. Jika tidak memungkinkan saya akan menerapkan mekanisme saya sendiri. Tapi ini yang saya butuhkan untuk memulai. Terima kasih.