2

私はsymfony1.4を使用しており、認証用のツールとしてsfDoctrineGuardPluginを使用しています。

テーブルに保存するために、ユーザーのIDを取得したいと思います。

ちょっとした調査の後、私はその表現を使わなければならないと思います:getUser()->getGuardUser()->getId()

私が探しているのは、その表現をターゲットに投資する方法です。

4

2 に答える 2

6

ユーザーが認証されている場合は、はい、次を使用できます。

// inside an action
$id = $this->getUser()->getGuardUser()->getId();

// inside a template
$id = $sf_user->getGuardUser()->getId();

ユーザーが認証されていない場合、エラーがスローされます。

于 2011-05-17T18:02:21.877 に答える
3

あなたが呼んでいる場所に依存します。

'ビュー'から:

echo $sf_user->getAttribute('user_id', null, 'sfGuardSecurityUser' );
echo $sf_user->getUsername();

'コントローラー'から(上記のトムが述べたように):

echo $this->getUser()->getGuardUser()->getId();
echo $this->getUser()->getGuardUser()->getUsername();

(最初の行は「id」、2番目の行は「username」です)

于 2012-03-03T19:27:50.633 に答える