在yii中如何编写插入查询 - php

在yii中,我正在创建登录模块。成功登录后,我必须检索当前的登录用户userid,并想将该用户id插入另一个具有用户ID作为具有外键关系属性的'logintransLog'表中。因此,在yii中,如何检索当前的userid并将其插入到另一个表中?请帮我.....

我想在只有userid正确且密码错误的情况下将userid插入表'loginAttempt'中,以便维护用户尝试登录多少时间的记录。那么我该如何实现呢?我有动作登录方法为:

public function actionLogin()
{
    $model=new LoginForm;
    $command = Yii::app()->db->createCommand();

    // if it is ajax validation request
    if(isset($_POST['ajax']) && $_POST['ajax']==='login-form')
    {
        echo CActiveForm::validate($model);
        Yii::app()->end();
    }

    // collect user input data
    if(isset($_POST['LoginForm']))
    {
        $model->attributes=$_POST['LoginForm'];
        // validate user input and redirect to the previous page if valid
        if($model->validate() && $model->login())
        {
                $command->insert('trans', array(
                    'id'=>Yii::app()->user->getId(),
                //'Ipaddress'=>Yii::app()->user->getIpaddress(),
                ));
            $this->redirect(Yii::app()->user->returnUrl);
        }

    }
    // display the login form
    $this->render('login',array('model'=>$model));
}      

请帮我

参考方案

1,简单又正确:制作模型logintransLog表并使用:

$log = new logintransLog();
$log->user_id = $user->id;
$log->created = date('Y-m-d H:i:s');
$log->save();

第二,速度很快-使用createCommand:

$sql = "insert into logintransLog (user_id, created) values (:user_id, :created)";
$parameters = array(":user_id"=>$user->id, ':created' => date('Y-m-d H:i:s'));
Yii::app()->db->createCommand($sql)->execute($parameters);
// try this, if any validation failed it was count as login attempt
if ($model->validate() && $model->login()) {
        $command->insert('trans', array(
           'id'=>Yii::app()->user->getId(),
         //'Ipaddress'=>Yii::app()->user->getIpaddress(),
        ));
        $this->redirect(Yii::app()->user->returnUrl);
} else {
        $command->insert('loginAttempt', array(
           'username'=>$model->username,
           'Ipaddress'=>$_SERVER['REMOTE_ADDR'],
        ));
}

PHP:对数组排序 - php

请如何排序以下数组Array ( 'ben' => 1.0, 'ken' => 2.0, 'sam' => 1.5 ) 至Array ( 'ken' => 2.0, 'sam' => 1.5, 'ben' =&…

Yii 2.0从没有控件的模型获取数据 - php

任何人都可以给我示例如何从模型中检索数据而无需使用Widget?因为需要获取每个表列的数据并将其放入我自己的视图中(不使用小部件)控制器:public function actionIndex() { $searchModel = new B2CProductsSearch(); $dataProvider = $searchModel->search…

PHP PDO组按列名称查询结果 - php

以下PDO查询返回以下结果:$db = new PDO('....'); $sth = $db->prepare('SELECT ...'); 结果如下: name curso ABC stack CDE stack FGH stack IJK stack LMN overflow OPQ overflow RS…

php:将分钟取整到最近的四分之一小时,然后执行更多操作 - php

最初的问题是这样的:取分钟数->转换为四分之一小时-> 1个四分之一小时为1个单位->输出单位我今天整天都在整理页面,几分钟前我的大脑就停止工作了,我只是不知道如何输出单位数量。我知道在此网站上发布问题会有所帮助。因此,用户输入的分钟数(不是小时和分钟,而是数分钟),站点需要输出单位数量。单位是一个刻钟。分钟总是四舍五入到最近的四分之一小时…

php Singleton类实例将在多个会话中保留吗? - php

举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…