1

これは明確な「問題/答え」の質問ではないかもしれませんが、尋ねる価値があると思います.

コントローラーでは、Auth オブジェクトにアクセスする 3 つのオプションがあるようです。

$this->認証->ユーザー $this->ユーザー $user

それぞれがログインしたユーザーのレコードを返しますが、それらの間に大きな違いはありません。

さて、関連付けられたモデル $this->Posts->User で作業している場合、一見すると $this->User が少し混乱したり不明確になったりする可能性があることに気づきました。

しかし、それ以外に、これら 3 つのオプションに違いはありますか?

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 2AuthComponent::user($user_field)では、認証されたユーザー データにアクセスするために使用する必要があります。たとえば、認証されたユーザーの ID には を使用する必要がありますAuthComponent::user('id')

ティランが言ったよう$this->Userに、モデルであり、$user単なる変数です。

于 2012-09-02T05:03:03.130 に答える