TL; DR: Có cách nào trong Magento 2 để tạo phương thức getTable
từ 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.xml
nà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.xml
phầ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_entity1
trả về cùng tên bảng với tham số module_entity1_entity2
không?
setMappedTableName
trì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.