【问题标题】:Update custom product attribute values - Magento更新自定义产品属性值 - Magento
【发布时间】:2014-04-28 13:48:34
【问题描述】:

我对 Magento 中的 UPDATING 表目录/产品有疑问。我想更新我添加为 EAV 属性的“custom_product_option”列中的值:

 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 的新值。如果有人可以提供帮助,我将不胜感激。

【问题讨论】:

  • 请把完整的错误放在这里...因为它包含那个数据库表名,所以我可以告诉你确切的问题

标签: magento magento-1.8


【解决方案1】:

我假设 $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
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 2014-02-10
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多