TL; DR: Có cách nào trong Magento 2 để tạo phương thức getTabletừ mô hình thu thập tài nguyên để trả về cùng tên bảng cho 2 tham số khác nhau không?
Giải thích chi tiết
Tôi sẽ bắt đầu với một ví dụ từ Magento 1.
Giả sử tôi có một bảng được gọi module_entiti1_entity2.
Tôi cần phải khai báo bảng config.xmlnày như thế này
<module_resource>
<class>....</class>
<entities>
<entity1_entity2>
<table>module_entiti1_entity2</table>
</entity1_entity2>
</entities>
</module_resource>
Sau đó, tôi có thể lấy tên bảng từ một mô hình thu thập tài nguyên, ví dụ như thế này:
$collection->getTable('module/entity1_entity2');
Nhưng nếu tôi muốn tôi có thể sử dụng nhiều bí danh cho cùng một bảng.
Nếu config.xmlphần của tôi trở thành
<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>
Tôi có thể truy xuất bảng của mình theo 2 cách:
$collection->getTable('module/entity1_entity2');
$collection->getTable('module/entity2_entity1');
Trong Magento 2 không có khai báo bảng như trên.
Tôi có thể lấy tên bảng của tôi như thế này $collection->getTable('module_entity1_entity2').
Có cách nào để nói với magento rằng tham số module_entity2_entity1trả về cùng tên bảng với tham số module_entity1_entity2không?
setMappedTableNametrình xây dựng mô hình tài nguyên của mình thì nó sẽ hoạt động, phải không? Cái đó được gọi trước bất kỳ phương thức nào khác từ lớp.