0

这是一个谜......在我的控制器添加功能中,我想将用户的 ID 输入到正在创建的记录中。我将 $this->Session->read('Auth.User.id') 放在 create 语句之后。但它总是空白..我发现我可以获得用户名和角色,但 id 总是空的。

我遵循表和字段名称的蛋糕命名约定。用户表有:id 用户名角色

调用 Session 和 Auth 我可以从表中获取用户的角色、用户名、任何其他值,但不能获取 id ......非常奇怪

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

$this->Session->read('Auth.User.username') ----> 这会返回用户名

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

任何想法可能会发生什么?

4

1 回答 1

0

所以我的问题的答案(我自己过了一段时间才发现)是在添加新记录后,自动编号 ID 不会被放入当前用户的身份验证会话中。Cake 在登录时执行此操作,因此您必须注销并重新登录才能在 Auth Session 中获取新 ID。但是,您可以使用 getInsertId() 获取新插入的用户自动编号,然后使用 $this->Session->write('Auth.Model.id', $this->Model->getInsertId 使用它来更新 Auth Session ()); – genoki 49 秒前 编辑

于 2012-06-13T06:59:41.427 回答