模型错误地尝试替换而不是更新

时间:2014-06-28 06:26:33

标签: php phalcon

我尝试更新用户id=1的名称。我尝试了下面的代码(v 1.3)。但是,它不是更新,而是尝试重新发送与var_dump($n->getMessages());属性相关的用户和not null输出错误。

 class UserApi extends Phalcon\DI\Injectable{}

 $n=new User;
$n->id=1;
 $n->name='Tom';
 $n->save(); //or even $n->update()

User::findFirst(1)->save();有效。但我需要使用单个代码来创建和更新操作。

1 个答案:

答案 0 :(得分:0)

如果您希望phalcon进行更新而不是插入,则必须在更改其属性之前从数据库加载模型。

要对创建和更新操作使用相同的代码,只需执行以下操作。

$user = User::findFirst($userId);

if (!$user) {
    // Create new user
    $user = new User();
    $user->id = $userId;
}

// Set/update values
$user->name = $userName;
$user->save();

希望这有帮助。