TL; DR: Чи є в Magento 2 спосіб зробити метод getTable
із моделі збору ресурсів для повернення одного і того ж імені таблиці для двох різних параметрів?
Детальне пояснення
Почну з прикладу Magento 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>
Я можу отримати свою таблицю двома способами:
$collection->getTable('module/entity1_entity2');
$collection->getTable('module/entity2_entity1');
У Magento 2 більше немає декларації таблиці, як вище.
Я можу отримати так назву своєї таблиці $collection->getTable('module_entity1_entity2')
.
Чи є спосіб сказати magento, що для параметра module_entity2_entity1
потрібно повернути те саме ім’я таблиці, що і для параметра module_entity1_entity2
?
setMappedTableName
конструктор моделі моєї ресурсу, він повинен працювати, правда? Цей виклик перед будь-яким іншим методом з класу.