2013-03-08 11 views
11

Podczas korzystania z następujących tylko ostatnia where jest dodana do mojego zapytania;Wiele WHERE przy użyciu QueryBuilder

$qb = $this->getEntityManager()->createQueryBuilder(); 

$qb->select(array('qi')) 
    ->from('Table:Qi', 'qi') 
    ->where("qi.content = " . $content->getId()) 
    ->where("qi.queue = " . $child->getQueue()->getId()); 

Musiałem to zrobić, aby zwracać uwagę zarówno

$qb->select(array('qi')) 
    ->from('Table:Qi', 'qi') 
    ->where("qi.content = " . $content->getId() . 
       " AND qi.queue = " . $child->getQueue()->getId()); 

nie wydaje się słuszne? Jak mogę użyć pierwszego podejścia z wieloma połączeniami where?

Odpowiedz

20

Można użyć ->andWhere takiego:

->where("qi.content = " . $content->getId()) 
->andWhere("qi.queue = " . $child->getQueue()->getId()); 
+0

Superb - dziękuję –

+0

rzeczywiście dont ** ** potrzeba używać '-> where' przed' andWhere'. Zawsze możesz używać '-> andWhere();' – xDaizu

Powiązane problemy