Magento在产品保存中的`catalog_product_entity_tier_price`错误中重复输入

时间:2016-01-29 11:30:01

标签: magento exception magento-1.9

我有一个启用了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]:完整性约束违规:1062重复条目   ' 779-1-0-5.0000-0'对于密钥' E8AB433B9ACB00343ABB312AD2FAB087',查询   是:INSERT INTO catalog_product_entity_tier_priceentity_id,   all_groupscustomer_group_idqtyvaluewebsite_id)   价值观(?,?,?,?,?,?)

当我删除Tier Price时,上面的代码运行正常。我尝试重新编制索引并清除了Cache但没有成功。

我对这个错误一无所知,所以我在这里问你们,如果有人知道这是什么问题以及如何解决它?

非常感谢!

1 个答案:

答案 0 :(得分:2)

有时$product->save()会抛出此错误。

要防止这种情况发生,请尝试使用$product->getResource()->save($product)

我希望它能为你服务。

编辑:这假设您设置在脚本之上。

Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);