Bonjour,
Dans mon application j'ai une entité Recruteur qui possède notamment un nom.
Je voudrais créer un formulaire dans lequel je pourrais lister tous les recruteurs et, en face de chacun, mettre un champ input dans lequel le user pourra rentrer un nombre.
Lorsqu'il valide le formulaire, je boucle sur tous les recruteurs et pour chacun je regarde le nombre rentré et je fais un traitement.
La notion de nombre n'est pas un attribut de mon recruteur, et je ne veux pas que mon user puisse modifier le recruteur.
J'ai donc fait un premier form RecruiterForm qui renvoie un recruteur et un champ texte non mappé
Ensuite j'ai fait un deuxième form qui utilise une Collection du form précédent.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('theNumber', \Symfony\Component\Form\Extension\Core\Type\IntegerType::class, array('mapped' => false)); } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array( 'data_class' => 'MonBundle\Entity\Recruiter' )); }
Ca ne fonctionne pas, il n'affiche aucun recruteur. Il manque peut-être une option dans le CollectionType ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public function buildForm(FormBuilderInterface $builder, array $options) { $builder->add('recruiter', \Symfony\Component\Form\Extension\Core\Type\CollectionType::class, array('entry_type' => RecruiterForm::class,)) ->add('save', \Symfony\Component\Form\Extension\Core\Type\SubmitType::class); }
Comment on pourrait faire ?
Merci de votre aide.
Partager