2013-03-08 13 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

素晴らしい - > WHERE' andWhere' '前に - あなたが実際に**必要**'使用するといけない –

+0

ありがとう。あなたはいつも ' - > andWhere();'を使うことができます。 – xDaizu

関連する問題