0

これはミステリーです..私のコントローラーの追加機能で、作成中のレコードにユーザーのIDを入力したいと思います。create ステートメントの後に $this->Session->read('Auth.User.id') を配置しました。しかし、それは常に空白でした..ユーザー名と役割を取得できることがわかりましたが、IDは常に空でした。

テーブル名とフィールド名はケーキの命名規則に従っています。ユーザーテーブルには次のものがあります: id ユーザー名ロール

セッションと認証を呼び出すと、ユーザーの役割、ユーザー名、テーブルからその他の値を取得できますが、ID は取得できません...非常に奇妙です

$this->Session->read('Auth.User.role') ----> これはロールを返します

$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を使用して認証セッションを更新することができます。 ()); –genoki49秒前編集

于 2012-06-13T06:59:41.427 に答える