Bonjour à tous,
Je poste cet appel au secours () car j'essaie de construire un formulaire de recherche pour Symfony2. Mais lorsque je le teste, je suis confronté au bug suivant, que je ne comprends pas :
J'essaie donc de créer une recherche par nom sur mon entité User. J'ai donc un controller :
Code : Sélectionner tout - Visualiser dans une fenêtre à part FatalErrorException: Error: __clone method called on non-object in .../AssoProject/vendor/doctrine/orm/lib/Doctrine/ORM/QueryBuilder.php line 219
Qui utilise un formulaire :
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 public function searchAction() { //---------------------------------------------------------------------- // -- Recherche User : //---------------------------------------------------------------------- $form = $this->createForm(new SearchUserFormType); $request = $this->get('request'); if ($request->getMethod() == 'POST') { $form->bind($request); if($form->isValid()) { $em = $this->getDoctrine()->getManager(); $data = $this->getRequest()->request->get('assoproject_user_searchUserFormType'); $liste_users = $em->getRepository('AssoProjectUserBundle:User')->findUsersByParametres($data); return $this->render('AssoProjectUserBundle:Search:listResult.html.twig', array('listeUsers' => $liste_users)); } } //---------------------------------------------------------------------- return $this->render('AssoProjectUserBundle:Search:search.html.twig', array( 'formSearchUser' => $form->createView(), )); }
Et un repository :
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 <?php namespace AssoProject\UserBundle\Form\Type; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; class SearchUserFormType extends AbstractType { /** * @param FormBuilderInterface $builder * @param array $options */ public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('name', 'search', array('required' => true)) ; } /** * @return string */ public function getName() { return 'assoproject_user_searchUserFormType'; } }
Bref, je ne sais pas si quelqu'un arrive à identifier une erreur dans ce code, moi non en tout cas, et aucune réponse à ce sujet sur le Web
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public function findUsersByParametres($search) { return $this->createQueryBuilder('a') ->where('a.name LIKE CONCAT("%", :data1, "%")') ->setParameters('data1', $search) ->getQuery() ->getResult(); }...
D'avance merci pour votre aide,
MKP !
Partager