নির্দিষ্ট প্রাথমিক কী সহ মডেল সারিগুলি সন্নিবেশ করার জন্য কি ম্যাজেন্টোর সরল ORM ( Mage_Core_Model_Abstract
এবং Mage_Core_Model_Resource_Abstract
) ব্যবহার করার কোনও উপায় আছে ?
উদাহরণস্বরূপ, যদি আমি একটি খালি ম্যাজেন্টো সিস্টেমের বিরুদ্ধে নিম্নলিখিতটি চালিত করি
Mage::getModel('core/website')->setData(array (
'website_id' => 2,
'code' => 'foo',
'name' => 'Main Website',
'sort_order' => 0,
'default_group_id' => 1,
'is_default' => 1,
));
আমি core_website
টেবিলে একটি নতুন প্রবেশের আশা করব তবে ম্যাজেন্টো এখানে নিঃশব্দে কিছুই করে না।
রিসোর্সে খনন করা দেখে মনে হচ্ছে আমি ডাটাবেস রিসোর্স ক্লাসে এর থেকে অনেকটা পিছিয়ে পড়ছি
#File: app/code/core/Mage/Core/Model/Resource/Db/Abstract.php
if (!is_null($object->getId()) && (!$this->_useIsObjectNew || !$object->isObjectNew())) {
//update stuff here
}
else
{
//insert stuff here
}
কারণ মডেলটির একটি আইডি রয়েছে (অর্থাত্ আমি একটি নির্দিষ্ট আইডি সন্নিবেশ করছি), এবং যেহেতু _useIsObjectNew
কঠোরভাবে মিথ্যা কোড করা হয়েছে, তাই আমার সংরক্ষণের অনুরোধটি সর্বদা insert
পথে চলে।
ডিফল্ট ম্যাজেন্টো মডেলগুলির সাথে সন্নিবেশ করার জন্য কি কোনও উপায় আছে? (পুনর্লিখন / শ্রেণি-প্রতিস্থাপন ছাড়াই)।
হ্যাঁ, কাঁচা এসকিউএল একটি বিকল্প, তবে তারপরে ইভেন্টের কার্যকারিতা নষ্ট হয়ে যায়।