I'm trying to build filter for my database. Based on values of several form inputs I need to construct appropriate query. This is the code:
$qb = $em->createQueryBuilder();
$qb->select('c.title')
->from('Baza\BlogBundle\Entity\Conferences', 'c');
$conditions=array(
$qb->expr()->gt('c.title',$enquiry->getNaziv()) );//First condition
if ($enquiry->getKontakt()!=null) {
$conditions[] = $qb->expr()->lt('c.contactemail',$enquiry->getKontakt())}//Adding second, optional condition
$conditions = call_user_func_array(array($qb, 'andX'), $conditions);
$qb->where($conditions);
$query = $qb->getQuery();
When I run this I get folowing exception:
Warning: call_user_func_array() expects parameter 1 to be a valid callback, class 'Doctrine\ORM\QueryBuilder' does not have a method 'andX'
*EDIT After call_user_func_array() modification I get following error:
QueryException: SELECT c.title FROM Baza\BlogBundle\Entity\Conferences c WHERE c.title > ITRO AND c.contactemail < [email protected]
Obviously, query is not formatted quite right. I was following this post:Doctrine DQL conditional query
Any thoughts?