এখানে সমস্যাটি রিসোর্স সেভ ফাংশন মাজেন্টোর চেকগুলির অংশ যা প্রাথমিক কীটি স্বয়ংক্রিয়ভাবে ইনক্রিমেন্টে সেট করা থাকে এবং তারপরে যদি কেস হয় তবে এটি সংরক্ষণ করা ডেটা থেকে সরিয়ে দেয়।
ইন Mage_Core_Model_Resource_Db_Abstract::save
আপনি দেখতে পারেন এটা কিভাবে সঙ্গে পুলিশ$this->_isPkAutoIncrement
/**
* Not auto increment primary key support
*/
if ($this->_isPkAutoIncrement) {
$data = $this->_prepareDataForSave($object);
unset($data[$this->getIdFieldName()]);
$this->_getWriteAdapter()->update($this->getMainTable(), $data, $condition);
} else {
$select = $this->_getWriteAdapter()->select()
->from($this->getMainTable(), array($this->getIdFieldName()))
->where($condition);
if ($this->_getWriteAdapter()->fetchOne($select) !== false) {
$data = $this->_prepareDataForSave($object);
unset($data[$this->getIdFieldName()]);
if (!empty($data)) {
$this->_getWriteAdapter()->update($this->getMainTable(), $data, $condition);
}
} else {
$this->_getWriteAdapter()->insert($this->getMainTable(), $this->_prepareDataForSave($object));
}
}
সুতরাং আমার সমস্যা সমাধানের জন্য আমাকে কেবলমাত্র $_isPkAutoIncrement
আমার মডেলের উত্সটি মিথ্যাতে সেট করতে হবে এবং ম্যাজেন্টো পিকেটিকে ডেটাতে রেখে টেবিলে সংরক্ষণ করবে।