AppController で $this->Auth->user('id') を使用すると、特定の問題に行き詰まりました。次のエラーが返されます: エラー: null のメンバー関数 user() への呼び出し
今私がやりたいことは、すべての人に適切なプロフィールを取得するよう強制したいということです。そこで、AppController で関数 forceprofile() を作成しました。この関数を AppControllers beforefilter-function で実行するように依頼します。したがって、毎回実行されます。プロファイルがない場合、ユーザーは forceprofile-function からフォームにリダイレクトされ、そこでプロファイルを保存できます。
この forceprofile-function の最初のコード行で、いくつかのコメントの直後に、UserID を変数に取ります。
$userid = $this->Auth->user('id');
ここでエラーが発生します。
そこで何が起こったのかを確認したかったので、行を次のように置き換えました
debug($this->Auth->user('id')); die;
結果は次のとおりです。
int(1)
実際、私はそこで非常に適切な結果を得ています。
元の障害のスタックは、有用な情報を提供しませんでした。コンテキストやコードなしで [内部関数] を出力するだけです...そして、BaseErrorHandler を出力します。
debug() が適切な結果を返し、id を変数に割り当てるように要求しないのはなぜですか?
ご協力ありがとうございました。