Yii2 保存到数据库

Posted

技术标签:

【中文标题】Yii2 保存到数据库【英文标题】:Yii2 saving to db 【发布时间】:2017-11-18 12:08:13 【问题描述】:

Yii 不会在 $register 中保存到 db。我的目标是保存到数据库中并在用户不存在时登录用户,或者如果他在那里则只登录。

public function actionLogin()
    
        if (!Yii::$app->user->isGuest) 
            return $this->goHome();
        
    $model = new LoginForm();
    if(isset($_POST['LoginForm']))
        $users = User::find()->where("username = '".$_POST['LoginForm']['username']."'")->count();
        if ($users == '0')
            $register = new User();
            $register->username = 'lak';
            $register->save();
        
            if ($model->load(Yii::$app->request->post()) && $model->login()) 
        return $this->goBack();
    

    

    return $this->render('login', [
        'model' => $model,
    ]);

【问题讨论】:

【参考方案1】:

你可能有一些失败的验证规则 如果这是尝试使用

 if ($users == '0')
        $register = new User();
        $register->username = 'lak';
        $register->save(false);
    

如果使用 $register->save(false);值已保存,然后更好地检查您的验证规则..

【讨论】:

以上是关于Yii2 保存到数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Yii2 中将带有 kartik-Select2 小部件项目的选择保存到 DB?

Yii2 - 在模型中提交时如何从小部件中获取数据?

Yii2 将日志记录到数据库中

Yii2 - 将当前数据库字段值保存在 php 变量中

如何在 YII2 Advanced 中将 Employee 表中的数据添加到用户表中

在 yii2 高级用户表中添加新列“名称”后,数据未保存在其中