1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('texte', 'textarea', array('attr' => array('class' => 'ckeditor')));
$factory = $builder->getFormFactory();
$builder->addEventListener(
FormEvents::PRE_SET_DATA,
function(FormEvent $event) use ($factory){
$form = $event->getForm();
$formOptions = array(
'class' => 'Asset\UserBundle\Entity\User',
'property' => 'username',
'multiple' => true,
'query_builder' => function(EntityRepository $er) use ($event) {
$users = $event->getData()->getCategorie()->getOperation()->getUsers();
$qb = $er->createQueryBuilder('u');
foreach ($users as $user) {
$idsUtilisateurs[] = $user->getId();
}
$qb->add('where', $qb->expr()->in('u.id', $idsUtilisateurs));
return $qb;
},
);
$form->add($factory->createNamed('Users', 'entity', null, $formOptions));
}
);
} |
Partager