我遇到了在Magento中更新表目录/产品的问题。我想更新列' custom_product_option'我添加为EAV属性:
for ($i=0;$i<=sizeof($my_data); $i++){
$id = $my_data[$i];
$db_data = array('custom_product_option'=>3);
$model = Mage::getModel('catalog/product')->load($id)->addData($db_data);
try {
$model->setId($id)->save();
echo "Data updated successfully.";
} catch (Exception $e){
echo $e->getMessage();
}
}
当我尝试在目录/产品表中更新我的新自定义值时,出现此错误:
Integrity constraint violation 1062 duplicate entry '44-1-0-2.0000-0' for key '...'
我很困惑,因为我正在更新表,它的行为就像我插入具有相同ID的新值。如果有人能提供帮助,我感激不尽。
答案 0 :(得分:0)
我认为$my_data
是需要更新的产品ID数组
如果是这样,试试这个。它要快得多:
$db_data = array('custom_product_option'=>3);
Mage::getSingleton('catalog/product_action')->updateAttributes(
$my_data, //array with ids to be updated,
$db_data, //array with attributes to be updated,
0 //store id for the update : 0 = default values
);