Yii2 mongoDb更新错误

时间:2016-02-07 15:28:54

标签: mongodb activerecord yii2

我的Yii2 mongoDb型号有问题。我想更新我的User对象。在模型类中我有:

public function attributes() {
    return [
        '_id',
        'username',
        'password',
        'email',
    ];
}

我想更新我的用户:“www”。 所以我这样做:

$user = User::findOne(["username"=>"www"]);
        $user->email = "www@www.www";
        if($user->save()){
            var_dump('inserted');
        }else{
            var_dump('not inserted');
        }

当我在创建之前转储用户时,我会收到我设置的电子邮件。

在转储时我得到“未插入”。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

可能是您有验证问题.. 尝试(仅用于调试)使用save(false),因此不要执行验证..

$user = User::findOne(["username"=>"www"]);
    $user->email = "www@www.www";
    if($user->save(false)){
        var_dump('inserted');
    }else{
        var_dump('not inserted');
    }

如果在这种情况下保存$ user。检查您的模型规则以定义可能失败的规则

您可以通过这种方式获取错误

if (!$user->validate()) {
     var_dump($user->errors)
}