如何将auth session添加到param数组public $ belongsTo Model

时间:2015-11-14 20:50:35

标签: cakephp authentication cakephp-2.0

我想将$this->Auth->user('id')添加到模型用户

 public $belongsTo = array('Role' => array('conditions' => array('User.id' =>$this->Auth->user('id') )));

此代码有错误!。我不知道如何在这里使用Auth。

1 个答案:

答案 0 :(得分:-1)

写在行下面的模型顶部

App::uses('Component', 'Auth');

然后像这样使用Auth会话

authComponent::user("id")

另一种选择是

App::uses('CakeSession', 'Model/Datasource');
$Session = new CakeSession();
$user = $Session->read('Auth.User');

现在$user拥有$this->Auth->user拥有的所有数据

<强>更新 好的,只需在模型中写下App::uses('CakeSession', 'Model/Datasource');即可 并使用CakeSession::read('Auth.User.id')作为

public $belongsTo = array(
  'Role' => array(
      'conditions' => array(
          'User.id' => CakeSession::read('Auth.User.id') 
       )
    )
);