這似乎是一個兩步的過程來得到這個,CakePHP的 - 使用驗證
$u = $this->Auth->user();
$uid = $u['User']['id'];
是不是有什麼地方設置一旦用戶一個變量登錄時獲得用戶ID控制器? (對不起,愚蠢的問題。)
這似乎是一個兩步的過程來得到這個,CakePHP的 - 使用驗證
$u = $this->Auth->user();
$uid = $u['User']['id'];
是不是有什麼地方設置一旦用戶一個變量登錄時獲得用戶ID控制器? (對不起,愚蠢的問題。)
我認爲你可以做$uid = $this->Auth->user('id');
- 檢查API:http://api.cakephp.org/class/auth-component#method-AuthComponentuser
您也可以從當會話獲得用戶的詳細信息Auth類不適用於您。
$this->Session->read('Auth.User.id')
如果您沒有在AppController級別註冊AuthComponent,這會很有幫助 – 2012-11-27 19:23:26
在CakePHP有幾種方法可以從會話獲得用戶ID,這裏有幾個例子
爲了讓控制器使用中的會話的用戶ID:
$uid = $this->Auth->User('user_id');
要獲取視圖中的會話用戶ID,請使用:(不推薦,我將在控制器中設置此項)
$uid = $this->Session->read('Auth.User.id');
獲取會話用戶ID的模型中,使用方法:(不推薦,但解決方案)
$uid = CakeSession::read('Auth.User.id');
我不建議以上從內部獲取會話的用戶ID在模型中,我將通過控制器通過它,使用:
$this->Model->function($uid);
您還可以通過純PHP獲取會話的用戶ID,使用:操作(雖然使用蛋糕,你應與公約棒)
$uid = $_SESSION['Auth']['User']['id'];
而且有更多的途徑中,這僅僅是幾...
這是一個很好的答案,這應該是標記爲接受的答案 – justinhartman 2013-10-11 16:05:03
+1,用於推薦從控制器傳遞到模型,而不是調用' CakeSession :: read('Auth.User.id');'在模型中。 – Fr0zenFyr 2015-09-11 10:40:18
CakePHP的2.x的:
任何地方:
AuthComponent::user('id')
控制器內部:
$this->Auth->user('id');
這可能是沒用的,但是我的錯誤原因是$this->Auth->user();
這個問題是用這個來解決的。我不確定這個問題的路線,但是當它從一個模型中調用一個函數的時候,它就出現了,就像我使用$this->Auth->user();
使用AuthComponent::user('id')
解決了這個問題。
您可以在API中提供關鍵參數的事實......我想我會更頻繁地觀察一下。 – Owen 2010-07-01 16:08:49