我試圖更新customer_entity的Magento中的自定義字段,我用下面的代碼:在magento的SetData()中出錯?
$customer = Mage::getModel('customer/customer')->load($customerId);
print_r($customer->getData());
try {
$customer->setData('field', $flag);
$insertId = $customer->save()->getId();
echo "Data successfully inserted. Insert ID: ".$insertId;
print_r($customer->getData());
} catch (Exception $e){
echo $e->getMessage();
}
現在,我不知道爲什麼它不是在一個數據庫中保存,當我寫的日誌客戶數據有更新的值,但是當我嘗試在數據庫中看到它沒有反映。
任何想法?
編輯:
$write = Mage::getSingleton("core/resource")->getConnection("core_write");
$sql = "update `customer_entity` set `field` = ".$flag." where`entity_id` =".$customerId;
$write->query($sql);
此代碼正在與魅力,但在頂部上面的代碼nention確實工作。 任何機構有任何想法嗎?
我有同樣的問題。你有沒有注意到setData()可以和默認的magento數據庫字段一起工作。例如,我已將2個字段添加到'customer_entity'表中。我可以使用ORM插入所有其他字段,但不能創建我創建的兩個字段。我必須爲這些使用SQL。 :( – 2013-12-17 10:35:49
你解決了你的問題,我有同樣的問題,我不能從innoDB更改爲MyISAM,因爲外鍵。 – MomAndDad 2017-11-29 10:38:02