用户控制器
public function profile()
{
$this->set('profile', $this->User->find('all'));
}
配置文件.ctp
<?php
echo $profile['User']['name']; // Where user is the model and name is the name field in db.
?>
我知道我做错了什么,但我找不到任何好的解决方案。
public function profile(){
$this->set('current_user', $this->Auth->user());
}
public function profile()
{
$this->set('profile', CakeSession::read('Auth.User'));
}
您必须进行查询。如果您有,您已经登录了用户
认证
在 $components 中的 Appcontroller 中,例如:
class AppController extends Controller {
public $components = array(
'Session',
'Auth' => array(
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'email')
)
)
),
);
现在,在您的控制器中,您在此模式下拥有经过身份验证的用户的变量:
$this->Session->read('Auth.User.id'));
您可以进行这样的查询以在数据库中检索已登录用户的记录:
this->set('profile', $this->User->find('all', array('recursive' => 1,
'conditions' => array('User.id' => $this->Auth->user()))));
尝试这个:
public function profile()
{
$user = $this->Auth->user();
$this->set('profile', $this->User->find('all',
array('conditions'=>array('User.id'=>$user['id']))));
}
实际上我在控制器中所做的是
public function profile()
{
$id=$this->Session->read('Auth.User.id');
$this->set('profile', $this->User->findByid($id));
}
及其工作:)。谢谢大家理清逻辑。