您好我在过滤前编写了代码。我想在Project.php
模型中获取用户详细信息。所以我不想再写代码了。已经在AppController
beforeFilter
功能中提取了用户详细信息。请参阅我的代码 -
AppController.php
public function beforeFilter(){
parent::beforeFilter();
$userId = $this->Session->read('Auth.User.id');
$getUserDetail = $this->User->findById($userId);
$this->set('getUserDetail', $getUserDetail);
}
Project.php
public function sameData($data=null){
//Here i want to get the the usedetails data. which set in appcontroller
}
我正在使用cakephp 2.2.3版
答案 0 :(得分:0)
只需将用户数据传递给模型:
$result = $this->{$this->modelClass}->yourMethod($this->Auth->user('id'));
$this->set('result', $result);
请勿使用会话对象,请使用Auth组件访问用户数据。如果操作正确,那么您的所有用户数据都应该可用。无需每次都获取用户数据。 Read this chapter
从不在某处实例化控制器,它可能是几乎所有MVC框架中破坏的架构的保证。这样做有一些影响,最重要的是它将模型层与控制器耦合。这也将成为单元测试的噩梦。