【问题标题】:Yii2 mongoDb update errorYii2 mongoDb 更新错误
【发布时间】:2016-02-07 15:28:53
【问题描述】:

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

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');
        }

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

在转储时我得到“未插入”。谁能帮帮我?

【问题讨论】:

    标签: mongodb activerecord yii2


    【解决方案1】:

    可能是您有验证问题.. 尝试(仅用于调试)使用 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)
    }
    

    【讨论】:

      猜你喜欢
      • 2018-09-08
      • 2016-05-02
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-21
      • 1970-01-01
      相关资源
      最近更新 更多