这是我在 model->save() 之后的模型;
[_data:protected] => Array
(
[entity_id] => 27
[created_at] => 2016-03-01 23:13:29
[updated_at] => 2016-03-01 23:13:50
[name] => 222
[value] => 222
[visibility] => 0
[field] => sponsor
[page_id] => 21
)
[_hasDataChanges:protected] =>
[_origData:protected] => Array
(
[entity_id] => 27
[created_at] => 2016-03-01 23:13:29
[updated_at] => 2016-03-01 23:13:29
[name] => 1234
[value] => 4321
[visibility] => 0
[field] =>
[page_id] => 0
)
[_idFieldName:protected] => entity_id
但在我的数据库中,“field”和“page_id”列未保存。这是我保存元素的代码:
foreach ($sponsors as $key => $value) {
$value["field"] = $field;
$value["page_id"] = $page_id;
//Mage::Log($value);
if(intval($key) < 0)
{
$a = Mage::getModel('cmsattribute/attribute');
$a->addData($value);
$a->save();
}
else
{
$a = Mage::getModel('cmsattribute/attribute')->load($key);
$a->addData($value);
$a->save();
}
Mage::Log($a);
}
问题可能出在哪里? name & value 已更新,update_ar 也已更新,其他 2 个字段未更新...
最佳答案
未存储在数据库中的字段是旧字段或您创建了新字段。如果是新的,请从 var/cache 中删除所有文件,然后再次尝试保存。
关于magento模型不保存所有字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35735604/