我在AppController中遇到了使用$ this-> Auth-> user('id')的問題。它返回以下錯誤: 錯誤:調用成員函數用戶()null
現在我想要做的: 我想強制每個人都得到一個適當的配置文件。所以我在AppController中創建了函數forceprofile()。我要求這個函數在過濾函數之前在AppControllers中執行。所以它會每次都執行。當沒有配置文件時,用戶將被從forceprofile-function重定向到一個表單,在那裏他可以保存他的配置文件。
在這種forceprofile功能的非常第一代碼行,直接一些意見後,我走用戶ID到一個變量:
$userid = $this->Auth->user('id');
這是錯誤發生。
比我想看看那裏發生了什麼,我更換了一行
debug($this->Auth->user('id')); die;
結果是:
int(1)
所以實際上我得到一個非常正確的結果出現。
原始故障的堆棧沒有提供任何有用的信息,它只是在沒有任何上下文或代碼的情況下打印[內部函數] ...並打印BaseErrorHandler。
任何人的任何想法,爲什麼debug()返回一個正確的結果,並要求將id分配給一個變量不?
謝謝你的幫助。
我繼續調試。無論出於何種原因,看起來,函數forceprofile被多次調用。所以它在第二次執行時失敗。我想我需要幫助弄清楚,爲什麼和從哪裏叫它2x。 –