Utilisation de LIKE dans DQL avec un parametre
Bonjour,
J'essaie de créer une simple requète DQL qui est sensée chercher dans ma base de donnée si le nom d'un produit contient une certaine chaine de charactère $key .J'utilise pour cela la une fonction dans un repository ( Je suis sur szmfony2)
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| class ProductRepository extends EntityRepository {
public function findNameContaining($key) {
$query = $this->getEntityManager()
->createQuery("
SELECT p FROM FldProductBundle:Product p
WHERE p.name LIKE '%?1%' "
)->setParameter(1, $key);
return $query->getResult();
}
} |
et dans mon controller je fais appel à cette fonction de la manière suivante:
Code:
1 2 3 4 5
| public function searchtestAction($key) {
$em = $this->getDoctrine()->getEntityManager();
$results = $em->getRepository('FldProductBundle:Product')->findNameContaining($key);
return $this->render('FldSearchBundle:Result:NameSearchResult.html.twig', array('results' => $results));
} |
Quand j'essaie le tout j'obtiens une erreur:
Code:
1 2
| Invalid parameter number: number of bound variables does not match number of tokens
500 Internal Server Error - QueryException |
que je n'arrive pas à résoudre. Pourriez vous m'aider ?
Merci d'avance