Bonjour,je suis un debutant avec symfony et Doctrine.Actuellement je cherche le moyens d'utiliser LIKE dans un queryBuilder.
J'ai essayé ceci dans mon repository.
Ce que je souhaite faire si c'etait en sql
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 public function findByWord($keyword){ $query = $this->createQueryBuilder('a') ->where('a.nom LIKE :key')->orWhere('a.prenom LIKE :key') ->setParameter('key' , $keyword)->getQuery(); return $query->getResult(); }
Et voici mon controller mais j'ai toujours false comme reponse
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT * FROM AGENT a WHERE a.nom LIKE %expr% OR a.prenom LIKE %expr%;
Actu je ne sais exactement l'origine du probleme,seulement je doute mon utilisation de la directive LIKE et c'est pourquoi je me confie a vous.Merci d'avance
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public function get_agent_from_keywordAction(Request $request){ $keyword = $request->get('keyword'); $agents = $this->getDoctrine()->getRepository('MissionBundle:Agent') ->findByWord($keyword); if(!empty($agents)){ return new JsonResponse($agents); } return new JsonResponse(array('flag'=>false)); }
Partager