2012-06-04 55 views
0

這是一個神祕..在我的控制器添加功能,我想輸入用戶的ID到正在創建的記錄。我在create語句後面放置了$ this-> Session-> read('Auth.User.id')。但它總是空白..我發現我可以得到用戶名和角色,但id始終是空的。cakephp可以獲取用戶名,但不是id

我正在關注表格和字段名稱的蛋糕命名約定。用戶表有: ID 用戶名 作用

呼叫會話和驗證,我可以得到用戶的角色,用戶名,從表中的任何其他值,但不是ID ...很怪

$這個 - > Session-> read('Auth.User.role')---->這個返回角色

$ this-> Session-> read('Auth.User.username')----> this return用戶名

$ this-> Session-> read('Auth.User.id')---->這是空白!

任何想法可能發生什麼?

+0

試試'$ this-> Auth-> user('id')' –

回答

0

因此,我的問題(我自己發現一段時間後)的答案是,在添加新記錄後,自動編號id不會放入當前用戶的auth會話中。 Cake在登錄時會這樣做,因此您必須註銷並重新登錄才能在Auth Session中獲取新的ID。但是,您可以通過使用getInsertId()來獲取新插入的用戶自動編號,然後使用$ this-> Session-> write('Auth.Model.id',$ this-> Model-> getInsertId來更新Auth Session ()); - genoki 49秒前編輯

相關問題