我有一个启用了 Tier Price
的产品。当我加载该产品并尝试更新时,Magento 抛出异常。
这是我的代码。
$_product = Mage::getModel('catalog/product')->load(779);
try {
$_product->setData('backorder_limit', '10');
$_product->save();
} catch (Exception $e) {
echo $e->getMessage();
}
上面的代码打印出下面的异常
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '779-1-0-5.0000-0' for key 'E8AB433B9ACB00343ABB312AD2FAB087', query was: INSERT INTO
catalog_product_entity_tier_price
(entity_id
,all_groups
,customer_group_id
,qty
,value
,website_id
) VALUES (?, ?, ?, ?, ?, ?)
当我删除等级价格时,上面的代码工作正常。我尝试重建索引并清除缓存但没有成功。
我对这个错误一无所知,所以我在这里问你们是否有人知道问题是什么以及如何解决?
非常感谢!
最佳答案
有时 $product->save()
会抛出这个错误。
为防止这种情况,请尝试使用 $product->getResource()->save($product)
。
我希望它对你有用。
编辑:这假设您在脚本之上设置。
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
关于Magento 产品保存时出现 `catalog_product_entity_tier_price` 错误中的重复条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35083440/