如何在控制器中保存id?

时间:2016-07-15 10:37:14

标签: php yii

我有一个actioncalling两次

Controller.php
UserController extends Controller {
    public actionCopy($id = false){

    if($id){
    //redireting to a view
    }
    else{
    //rediredtion to a differnet view
    }


    }
}

我首先得到id然后从first view我再次来Copy action没有id所以其他部分正在运行nw但是在此我希望得到{{1}我从第一次请求得到的。

我试图在控制器中定义一个全局变量,如

$id

并将其设置为此。

我知道Controller.php UserController extends Controller { public $user; public actionCopy($id= false){ if($id){ $this->user = $id; //redireting to a view } else{ echo $this->user ;// but it has nothing //rediredtion to a differnet view } } } 没有执行,所以if condition没有价值,但我第一次设置$id,然后为什么没有$this->user

任何帮助都是适用的

1 个答案:

答案 0 :(得分:0)

试试这个,

class UserController extends Controller {
    public actionCopy($id = false){     
        if($id){
            //set up a session here
            Yii::app()->session['_data_id'] = $id;

            //remaining code here               
        }
        else{
            $id=isset(Yii::app()->session['_data_id'])?Yii::app()->session['_data_id']:NULL; // the id you want from previous request
            if($id!=NULL){
                //remaining code
                unset(Yii::app()->session['_data_id']); //clear it after use
            }
        }
    }
}