TL; DR:มีวิธีใดใน Magento 2 ที่จะสร้างวิธีการgetTable
จากแบบจำลองการรวบรวมทรัพยากรเพื่อส่งคืนชื่อตารางเดียวกันสำหรับพารามิเตอร์ที่แตกต่างกัน 2 ตัว?
คำอธิบายรายละเอียด
ฉันจะเริ่มต้นด้วยตัวอย่างจากวีโอไอพี 1. สมมติว่าผมมีตารางที่เรียกว่า
ฉันต้องการประกาศตารางนี้ในแบบนี้module_entiti1_entity2
config.xml
<module_resource>
<class>....</class>
<entities>
<entity1_entity2>
<table>module_entiti1_entity2</table>
</entity1_entity2>
</entities>
</module_resource>
จากนั้นฉันจะได้รับชื่อตารางจากแบบจำลองการรวบรวมทรัพยากรเช่นนี้:
$collection->getTable('module/entity1_entity2');
แต่ถ้าฉันต้องการฉันสามารถใช้นามแฝงหลายรายการสำหรับตารางเดียวกัน
หากconfig.xml
ส่วนของฉันกลายเป็น
<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>
ฉันสามารถดึงข้อมูลตารางของฉันได้ 2 วิธี:
$collection->getTable('module/entity1_entity2');
$collection->getTable('module/entity2_entity1');
ใน Magento 2 ไม่มีการประกาศตารางเพิ่มเติมอีก ฉันจะได้รับชื่อตารางของฉันเช่นนี้
มีวิธีบอก magento หรือไม่ว่าพารามิเตอร์จะส่งคืนชื่อตารางเดียวกันกับพารามิเตอร์หรือไม่$collection->getTable('module_entity1_entity2')
module_entity2_entity1
module_entity1_entity2
setMappedTableName
สร้างโมเดลทรัพยากรของฉันมันควรจะใช้ได้ใช่ไหม สิ่งนั้นถูกเรียกก่อนวิธีอื่นใดจากชั้นเรียน