我正在尝试使用以下方法更新从XML文件提供的多个产品:
$productid = Mage::getModel('catalog/product')->getIdBySku($url->product);
echo 'Loaded Product: ' . $url->product;
// Initiate product model
$product = Mage::getModel('catalog/product');
$product->setPrice($url->price);
try
{
$product->save();
echo "Save / Updated"."\r\n";
}
catch (Exception $ex) {
echo "<pre>".$ex."</pre>";
}
我遇到SQL错误的问题:
exception 'Mage_Eav_Model_Entity_Attribute_Exception' with message 'SQLSTATE[23000]:
Integrity constraint violation: 1062 Duplicate entry '531-0-82-1.0000-0'
我的数据库中存在ID为531的产品,我想要做的就是更新它的价格。
导致这种情况的原因是什么?
答案 0 :(得分:1)
尝试此更新
$product = Mage::getModel('catalog/product');
更改为
$product = Mage::getModel('catalog/product')->load($productid);
您必须加载产品才能更新其属性。
答案 1 :(得分:0)
好吧,似乎不喜欢我对该产品的价格分层的事实。
清除它们,重新编制索引,重新创建分层定价,一切似乎都很好