2016-09-25 2 views
0

У меня проблема с записью построителя запросов. Я хотел бы добавить дополнительные методы в зависимости от оператора if. Я корчу, как показано ниже, но он не работаетQuery builder - добавление методов в зависимости от оператора if

Я полагаю, что совершил ошибки с объектами. Может кто-нибудь мне? Заранее спасибо

ответ

0

проблема заключается в том, что метод createQueryBuilder создаст новый конструктор запросов при каждом вызове. Вы должны попробовать что-то вроде этого:

$qb = $repository->createQueryBuilder('k'); 
$qb->where('k.autor LIKE :autor OR k.tytul LIKE :tytul'); 

if ($tag !== '') { 
    $qb->andWhere('k.cena = :jezyk'); 
    $qb->setParameter('jezyk', $tag);   
} 

$qb->setParameter('autor', '%' . $s . '%'); 
$qb->setParameter('tytul', '%' . $s . '%'); 

$searched_books = $qb->getQuery()->getResult(); 
Смежные вопросы