Bonjour,
J'ai mon objet uzer,
qui a une relation M2M avec mon objet uzercateg.
Je souhaiterai que mon lien entre mon objet uzer et uzercateg soit à true pour tout les entrée que l'on aura pour uzercateg. et je souhaiterai caché cette partie du formulaire.
Je créé un formulaire externe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
34
35
36
37
38 <?php namespace SB\UserBundle\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolverInterface; class UzerType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('lastname', 'text', array('label' => 'nom de famille')) ->add('firstname') ->add('uzercaracs', 'entity', array( 'class' => 'SBUserBundle:UzerCarac', 'property' => 'title', 'expanded' => true, 'multiple' => true)) ->add('uzercategs', 'entity', array( 'class' => 'SBUserBundle:UzerCateg', 'property' => 'title', 'expanded' => true, 'multiple' => true)) ; } public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array( 'data_class' => 'SB\UserBundle\Entity\Uzer' )); } public function getName() { return 'sb_userbundle_uzertype'; } }
voici mon controleur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 public function editAction($id) { $repository = $this->getDoctrine() ->getManager() ->getRepository('SBUserBundle:Uzer'); $uzer = $repository->find($id); $form = $this->createForm(new UzerType, $uzer); if($uzer === null) { throw $this->createNotFoundException('Vous n\'avez pas encore ajouté d\'utilisateur'); } $request = $this->get('request'); if ($request->getMethod() == 'POST') { $form->bind($request); if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($uzer); $em->flush(); return $this->redirect($this->generateUrl('uzer_gest_view_user', array('id' => $uzer->getId(),'uzer'=>$uzer))); } } return $this->render('SBUserBundle:UzerGest:edituzer.html.twig', array('id' => $uzer->getId(),'form' => $form->createView())); }
Partager