Cakephp在模型中获取会话变量而不使用Auth组件

时间:2010-01-27 09:26:24

标签: cakephp

我想在我的模型中获取会话变量。我没有使用Auth组件。还有其他方法吗?

由于 Binoy

2 个答案:

答案 0 :(得分:6)

您需要使用会话助手来执行,

$this->Session->write('key','value');

但是,正如评论所述,您将希望在模型中设置变量,然后使用会话将相同的值写入模型中的该变量,而不是实际访问模型中的会话。

Class MyModel Extends AppModel{
  var $username;
  var $password;
}

然后在你的控制器中你可以使用

的内容
$this->MyModel->username = $this->Session->read('User.id');
$this->MyModel->password = $this->Session->read('User.password');

答案 1 :(得分:0)

控制器文件:使用会话助手

class AppController extends Controller {
     var $helpers = array('Session');
     function index()
     {
        $this->Session->write('answer', '10'); //$this->Session->write('key','value');
     }
     ....
 }

现在您可以在模型中访问此变量:

 class AppModel extends Model {

    function validateanswer(){
        CakeSession::read('answer');/*Here u can get value of varibale answer which you set through controller*/
    }
 }