TL; DR:getTable
2 अलग-अलग मापदंडों के लिए एक ही तालिका नाम वापस करने के लिए संसाधन संग्रह मॉडल से विधि बनाने के लिए Magento 2 में कोई रास्ता नहीं है ?
विस्तृत विवरण
मैं 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>
मैं अपनी तालिका 2 तरीकों से प्राप्त कर सकता हूं:
$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
अपने संसाधन मॉडल निर्माता में इसका उपयोग करता हूं तो इसे काम करना चाहिए, है ना? वह वर्ग से किसी अन्य विधि से पहले कहा जाता है।