Bonjour,
Je fais un formulaire de recherche sur une vue :
mon formulaire ArgusSearchType.php :
Mon controller :
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 <?php namespace quad\MainBundle\Form; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilder; class ArgusSearchType extends AbstractType { public function buildForm(FormBuilder $builder, array $options) { $builder ->add('annee', 'text',array('label'=>'Année','required'=>false)) ->add('modele' ,'entity',array('class' => 'quad\\MainBundle\\Entity\\Modele','label'=>"Modele",'property' => 'modele','required'=>false)) ->add('actif', 'choice',array('choices'=>array(0=>"Non",1=>"Oui"),'label'=>'Actif','required'=>false)); } public function getName() { return 'argus_search'; } public function getDefaultOptions(array $options) { return array( 'data_class' => 'quad\MainBundle\Entity\ArgusSearch', ); } }
ma vue :
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 public function indexAction() { $em = $this->getDoctrine()->getEntityManager(); $entity = new ArgusSearch(); $form = $this->createForm(new ArgusSearchType(), $entity); $request = $this->getRequest(); $form->bindRequest($request); if ($form->isValid() && $request->getMethod() == 'POST') { $data = $form->getData(); $annee = $form["annee"]->getData(); $modeleId = $form["modele"]->getData(); echo "modeleId :$modeleId"; $actif = $form["actif"]->getData(); $entities = $em->getRepository('quadMainBundle:Argus')->findByFiltreArgus($annee,$modeleId,$actif); } else{ $entities = $em->getRepository('quadMainBundle:Argus')->findAll(); } return $this->render('quadMainBundle:Argus:index.html.twig', array( 'entities' => $entities, 'form' => $form->createView() )); }
Avec ce code je n'ai pas de problème lorsque je souhaite rechercher sur actif ou année. Par contre lorsque je souhaite rechercher sur un modèle ça ne fonctionne pas, je récupère pas la valeur de mon select mais la valeur affiché.
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 <form action="{{ path('admin_argus') }}" method="post" {{ form_enctype(form) }}> <table width="100%"> <tr> <td>{{ form_label(form.modele) }}</td> <td>{{ form_widget(form.modele) }}</td> <td>{{ form_label(form.annee) }}</td> <td>{{form_widget(form.annee) }}</td> <td>{{ form_label(form.actif) }}</td> <td>{{form_widget(form.actif) }}</td> <td><button type="submit">Filtrer</button></td> </tr> </table> {{ form_rest(form) }} </form>
Je ne vois pas ou est l'erreur, merci de votre aide.
Olivier
Partager