1

私は2つのエンティティを持っていUser Roleます。どちらもSymfony2で認証に使用されます。認証プロセスには、配列を返すUserクラスのメソッド'getRoles'が必要です。一方、コレクションとして与えられた役割を必要とするフォームビルダーがあります。フォームビルダーに特定のゲッターを使用してロールのコレクションを取得させるにはどうすればよいですか?

 class UserType extends AbstractType{
 //...
 ->add('roles', 'entity', array( 'class' => 'MyBundle:Role',
                                    'property' => 'name',
                                    'required' => false, 
                                    'multiple' => true,
                                    'expanded' => true,
                                    );

 //...
  }


 class User implements UserInterface {
 //...
    public function getRoles() {
    return $this->roles->toArray();  //This needs authentication mechanism
   }

 public function getRolesCollection() {
    return $this->roles;            //This needs form builder.
}
 //...
 }
4

1 に答える 1

0

多分あなたはそれをすべて逆にすることを試みることができます:

class UserType extends AbstractType{
 //...
 ->add('rolesCollection', 'entity', array( 'class' => 'MyBundle:Role',
                                    'property' => 'name',
                                    'required' => false, 
                                    'multiple' => true,
                                    'expanded' => true,
                                    );

 //...
  }


 class User implements UserInterface {
  protected $rolesCollection
 //...
    public function getRoles() {
    return $this->rolesCollection->toArray();  //This needs authentication mechanism
   }

 public function getRolesCollection() {
    return $this->rolesCollection;            //This needs form builder.
}
 //...
 }
于 2012-05-24T23:12:17.997 に答える