2011-03-17 8 views
0

私はsfGuardGroupカラムを持つテーブルを持っています。そのため、ユーザがログインすると、グループ内のユーザだけがレコードを見ることができます。sfDoctrineGuard - ログインしているグループのみを取得するユーザ

レコードを作成するときに、ログインしているユーザーがメンバーであるグループのみを含むsfGuardGroupの選択ボックスが必要です。

誰でもこの操作を行ってください。 sfContex ::のgetInstance()を使う - >のgetUser()(簡単な方法は、お勧めしていない)として、またはコントローラからのsfUserを注入:

おかげ

形で

答えて

0

::

  1. GETユーザーを設定オプション

    $ this-> form = new myAwesomeUserForm(array()、array( 'user' => $ this-> getUser()));

  2. 使用sfWidgetFormChoice

  3. 使用sfGuardSecurityUser :: getGroups(する$ user-> getGroups)sfWidgetFormChoiceウィジェットの選択肢を設定します。ここでは、ユーザが、私は少し間抜けに聞こえるが、これはあなたが何を意味するかである場合、バリデータに申し訳ありません返信用
+0

おかげで、忘れてはいけないMYUSER> sfGuardSecurityUser

  • のインスタンスである$:[コード]パブリック関数のconfigure() { \t $ user = sfContext :: getInstance() - > getUser(); (sfGuardSecurityUser :: getGroups($ user-> getGroups)、 'add_empty' => false));新しいSfWidgetFormDoctrineChoiceを追加するには、次のように入力します。 } [コード] – dazpinto

  • +0

    ほぼあります。 sfWidgetFormDoctrineChoiceを使用する必要はありません。ただちにsfWidgetFormChoiceを使用してください。 – cuhuak

    +0

    エラーが発生しました 'code'厳密な標準:非静的メソッドsfGuardSecurityUser :: getGroups()はC:\の互換性のないコンテキストから$ thisを静的に呼び出すべきではありません。 xampp \ htdocs \ DSMS \ lib \ form \ doctrine \ slideForm内の未定義のプロパティ:myUser :: $ getGroups。 class.php on line 16 'code' lib \ form \ doctrine \ *** Form.class.phpに入れていますか? – dazpinto

    関連する問題