我有一个启用了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_price
(entity_id
,all_groups
,customer_group_id
,qty
,value
,website_id
) 价值观(?,?,?,?,?,?)
当我删除Tier Price时,上面的代码运行正常。我尝试重新编制索引并清除了Cache但没有成功。
我对这个错误一无所知,所以我在这里问你们,如果有人知道这是什么问题以及如何解决它?
非常感谢!
答案 0 :(得分:2)
有时$product->save()
会抛出此错误。
要防止这种情况发生,请尝试使用$product->getResource()->save($product)
。
我希望它能为你服务。
编辑:这假设您设置在脚本之上。
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);