1

我意识到这可能不是一个明确的“问题/答案”问题,但我认为值得一问。

在控制器中,似乎有三个选项可以访问 Auth 对象:

$this->Auth->用户 $this->用户 $user

他们每个人都返回登录用户的记录,我看不出他们之间有什么区别。

现在,我突然想到,如果在关联模型 $this->Posts->User 中工作,$this->User 可能会有点令人困惑或不清楚。

但除此之外,这三个选项之间有区别吗?

4

2 回答 2

3

$this->Auth->user()从会话中返回当前经过身份验证的用户。

$this->User是一个模型,除非您使用会话数据(来自 Session 或 Auth 组件)来获取用户 ID,否则您不会获得当前经过身份验证的用户。无论哪种方式,您都必须对每个请求进行查询以获取有关登录用户的信息。

$user..只是一个变量。我不明白这是一个“访问 Auth 对象的选项”

如果您想要有关当前登录用户的信息,请使用$this->Auth->user();

于 2012-09-02T04:42:17.387 回答
0

在 cakephp 2 中,您必须使用AuthComponent::user($user_field)来访问经过身份验证的用户数据,例如:对于经过身份验证的用户的 id,您必须使用AuthComponent::user('id')

正如tirang所说$this->User,是一个模型,$user只是一个变量。

于 2012-09-02T05:03:03.130 回答