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.


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();
    }
Ce que je souhaite faire si c'etait en sql

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%;
Et voici mon controller mais j'ai toujours false comme reponse
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));
    }
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