Symfony形成多对多而无需收集

I have 2 entities, User and Account. An Account can be own by multiple users and a User can own multiple Account. So I have this entity UserHasAccount that is handling this relation, plus some few fields that have personalised values for each User - Account relation, such as position, showInMenu, showInSideBar.

In the settings of the account, when a user is logged in I want to display those options but only for the current logged user. So I end up with 2 form type:

AccountEditType:

class AccountEditType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('name', null, array(
                'label' => 'account.form.name',
                'translation_domain' => 'AcmeAccountBundle',
            ))
            ->add('timezone', 'genemu_jqueryselect2_timezone', array(
                'label' => 'account.form.timezone',
                'translation_domain' => 'AcmeAccountBundle',
            ))
            ->add('accountUser', new UserAccountEditType($options['user']))
        ;
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'Acme\AccountBundle\Entity\Account',
            'user' => null,
            'validation_groups' => array('AcmeUpdateAccount'),
            'cascade_validation' => true,
        ));
    }

    public function getName()
    {
        return 'acme_account_edit_settings';
    }
}

UserAccountEditType:

class UserAccountEditType extends AbstractType
{
    protected $user;

    public function __construct($user)
    {
        $this->user = $user;
    }

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('showInMenu', null, array(
                'label' => 'account.user_account.form.show_in_menu',
                'translation_domain' => 'AcmeUserBundle',
                'required' => false,
            ))
        ;
    }

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'Acme\UserBundle\Entity\UserHasAccount',
        ));
    }

    public function getName()
    {
        return 'acme_general_account_user';
    }
}

The problem is that Account.accountUser is a collection of user and so I cannot use UserAccountEditType which is mapping only one relation (not the collection). If I leave it like this I have the following error:

The form's view data is expected to be an instance of class Acme\UserBundle\Entity\UserHasAccount, but is an instance of class Doctrine\ORM\PersistentCollection

How can I possibly select one of the relation in the form type? Cheers,

Maxime