টিএল; ডিআর:getTable
2 আলাদা প্যারামিটারের জন্য একই টেবিলের নামটি ফেরত দেওয়ার জন্য কোনও উত্স সংগ্রহের মডেল থেকে পদ্ধতি তৈরি করার জন্য কি ম্যাজেন্টো 2 তে কোনও উপায় আছে ?
বিস্তারিত ব্যাখ্যা
আমি ম্যাজেন্টো 1 থেকে একটি উদাহরণ দিয়ে শুরু করব
Let's বলুন যে আমার কাছে একটি টেবিল কল আছে 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');
ম্যাজেন্টো 2 তে উপরের মতো কোনও টেবিল ঘোষণা নেই।
আমি আমার টেবিলের নামটি এভাবে পেতে পারি $collection->getTable('module_entity1_entity2')
।
প্যারামিটারের module_entity2_entity1
জন্য প্যারামিটারের মতো একই টেবিলের নামটি ফেরত দেওয়ার জন্য কি ম্যাজেন্টোকে বলার কোনও উপায় আছে module_entity1_entity2
?
setMappedTableName
যদি আমার সংস্থান মডেল নির্মাণকারীর মধ্যে এটি ব্যবহার করি তবে এটি ঠিক কাজ করা উচিত? ক্লাস থেকে অন্য কোনও পদ্ধতির আগে সেটিকে ডাকা হয়।