-1
Kann mir jemand erklären, warum der andWhere Teil meiner Abfrage nicht funktioniert?Doctrine Query Builder andWo funktioniert nicht
Hier ist meine Funktion:
public function searchSpectacle(request $request){
$data = $request->request->all();
$terms = explode(" ", $data["searchterms"]);
$date = str_replace('/', '-', $data['datestring']);
$query = $this->getDoctrine()->getManager()->createQueryBuilder();
$query->select('S')
->from('AppBundle:Spectacle','S');
$i = 0;
$parameters = array();
foreach ($terms as $key => $term){
$query->orWhere('LOWER(S.nom) LIKE ?' . $i++);
$parameters[] = '%' . $term . '%';
}
foreach ($terms as $key => $term){
$query->orWhere('LOWER(S.artiste) LIKE ?' . $i++);
$parameters[] = '%' . $term . '%';
}
if(!empty($date)){
$query->andWhere('S.date = ?');
$parameters[] = $date;
}
$query->setParameters($parameters);
$spectacles = $query->getQuery()->getResult();
return $this->render('liste_complete.html.twig', array('spectacles' => $spectacles));
}
Alles funktioniert perfekt, aber wenn ich das es
if(!empty($date)){
$query->andWhere('S.date = ?');
$parameters[] = $date;
}
Teil hinzufügen Trows dies: ungültiger Parameter Format? gegeben, aber: oder? erwartet.
Irgendwelche Ideen?
Vielen Dank!
Guillaume
Es funktioniert! Kann nicht glauben, dass ich es nicht bemerkt habe. Vielen Dank, lieber Herr. –