Symfony2 Générateur de Formulaire - création d'un tableau de choix à partir d'une base de requête

Dans mon FormType classe, j'ai ceci dans la méthode buildForm:

//...
->add('businessUnit', 'entity', array(
                'class' => 'TrainingBundle:Employee',
                'attr' => array('class' => 'form-control select2'),
                'property' => 'businessUnit',
                'empty_value' => 'All Business Units',
                'query_builder' => function(EntityRepository $er) {
                    return $er->createQueryBuilder('e')
                        ->groupBy('e.businessUnit')
                        ->orderBy('e.businessUnit', 'ASC')
                        ;
                },
                'required' => false
//...

Cela fonctionne très bien, sauf qu'au lieu de "businessUnit" mis à la valeur de la <option> tags-je obtenir l'ID de l'employé. Ce dont j'ai besoin est une liste déroulante avec tous distincts businessUnits dans la classe d'Employés. Peut-être que je devrais être à l'aide choice au lieu de entity , mais je ne suis pas sûr de la façon de générer l'ensemble des choix.

RÉPONSE
Comme décrit dans la accepté de répondre-je faire de cette fonction

 private function fillBusinessUnit() {
        $er = $this->em->getRepository('TrainingBundle:Employee');

        $results = $er->createQueryBuilder('e')
               ->groupBy('e.businessUnit')
               ->orderBy('e.businessUnit', 'ASC')
               ->getQuery()
               ->getResult()
               ;

        $businessUnit = array();
        foreach($results as $bu){
             $businessUnit[$bu->getBusinessUnit()] = $bu->getBusinessUnit();
        }

        return $businessUnit;
    }

A dû passer dans l'EntityManager pour la forme. Et aussi mettre
use Doctrine\ORM\EntityManager; au top de la forme

OriginalL'auteur Nick Barrett | 2014-04-04