2013-03-08 48 views
11

使用以下時只有最後一個where被添加到我的查詢;多個使用QueryBuilder的地方

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

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

我不得不這樣做,使之採取兩種

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

通知這看起來不正確?如何使用第一種方法與多個where調用?

回答

20

您可以使用->andWhere這樣的:

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

精湛 - 謝謝你 – 2013-03-08 20:21:57

+0

你居然不** **需要使用' - > where'之前'andWhere'。你可以一直使用' - >和Where();' – xDaizu 2016-05-09 14:19:33

相關問題