我的应用程序中的导航栏将包含User
信息(名称,个人资料图片)和一些相关数据。由于导航栏将出现在整个应用程序中,我将我的逻辑放在AppController::beforeRender()
中,以便将数据传递给View
(在本例中为Element nav_bar)。
以下哪项是加载User
模型数据的正确方法。
public function beforeRender() {
$this->loadModel('User'); // this one
$this->User->find(...
ClassRegistry::init('User')->find(... // Or this one?
答案 0 :(得分:2)
我会在会话中保存用户信息,否则您将在每个请求中访问数据库。
所以,你想做的是:在你的login()函数中,你获得用户信息并将其保存在Session中。然后,在您的元素中,您只需回显您想要的会话内容。
答案 1 :(得分:-1)
在您的视图中,使用AuthComponent类访问用户信息,例如:
拥有用户ID:$use_id = AuthComponent::user('id');
获取用户的所有信息:$user = AuthComponent::user();