Magento custm表数据更新问题

时间:2015-12-29 12:03:56

标签: magento

我有一个自定义表,其主键具有 varchar 数据类型。我需要相应地更新一些记录。我使用下面的代码加载特定的行;

$model = Mage::getModel('test/one')->load($Sku,'CODE');

CODE 是主键字段值。 所有表字段名称都是大写字母。

当我使用下面的代码尝试编辑时,我收到重复输入错误。

$model->setData('DESC','test description');
model->save();

我认为它正在尝试插入新记录而不是更新。但为什么会这样呢。任何人都可以帮助我。

非常感谢你。

2 个答案:

答案 0 :(得分:0)

尝试使用此方法

$model = Mage::getModel('test/one')->load($Sku,'CODE');
$data = array("position"=> "DESC", "content"=> "test description");
$model = model->addData($data);
$model->save();

答案 1 :(得分:0)

我能想到为什么尝试插入新行的唯一原因是对load()的调用返回null,因此不是表中的现有行。 尝试在load()之后或save()之前添加条件。

$model = Mage::getModel('test/one')->load($Sku,'CODE');
     if(!this->getId()){
        echo "no existing row found";
     } 

除此之外,您可能需要调试以找出load()返回的原因null