symfony2 forme de la sélection multiple avec type arraycollection

Je voudrais créer un formulaire pour modifier mes utilisateurs.
Les utilisateurs et les rôles connecté avec ManyToMany.
Dans UserUsers entité j'ai un $rôles variable qui est ArrayCollection:

public function __construct()
{
    $this->roles = new ArrayCollection();
}

Dans mon formulaire je voudrais ajouter des rôles à mes utilisateurs par le biais de multiples sélectionnez l'élément de formulaire.
Dans mon formulaire utilisateur:

public function buildForm( FormBuilderInterface $builder, array $options ) {
    $builder->add( 'username' )
            ->add( 'password', 'repeated', array( 
                    'type' => 'password',
                    'mapped' => false,
                    'required' => false,
                    'first_options' => array( 
                            'label' => 'Password' ),
                    'second_options' => array( 
                            'label' => 'Repeat Password' ) ) )
            ->add( 'roles', 'choice', array( 
                    'mapped' => false,
                    'multiple' => true ) );
}

Maintenant mon choix multiple est vide.

Si je tourne mappé pour vrai, j'ai un message d'erreur:

UserRoles n'a pas pu être converti en int...

J'en ai essayé beaucoup de moyens, mais je ne pouvais pas résoudre ce problème correctement.

Ce type avez-vous dans votre $rôles de type arraycollection?
Tous les éléments de $rôles de type arraycollection est une entité (UserRoles).
Pour un choix d'entités, vous devez utiliser le type de champ choice "entité" (symfony.com/doc/current/reference/forms/types/entity.html). Pour un exemple, voir ma réponse à une question similaire, - stackoverflow.com/questions/13519961/...
Ok, j'ai changé de rôles comme ceci: $builder->add( 'roles', 'entity', array( 'class' => 'AcmeUserBundle:UserRoles', 'multiple' => true, 'property' => 'name' ) ); Puis j'ai eu un message d'erreur: argument de type "Doctrine\Common\Collections\" Collection", "array" donné
C'est bizarre, comme type arraycollection met en œuvre la Doctrine\Common\Collections\Collection. Est-il possible que les rôles() est réaffecté à un tableau d'ailleurs? Ou de type arraycollection ne se résout pas à la doctrine de la classe?

OriginalL'auteur lordjancso | 2013-05-09