2012-02-16 83 views
0

假設我有兩個對象articlecomment。我想要做的是獲取所有評論,其中article.id是IN(1,2,3,4)。實現它的最好方法是什麼?我不得不使用JOIN?現在我有這樣的事情;學說:獲取父母在列表中的所有對象

dql = "SELECT c FROM Comment c LEFT OUTER JOIN c.article a WHERE a.id IN :articles ORDER BY a.id ASC"; 
$query = $this->entityManager->createQuery($dql); 
$query->setParameter("articles", array(1,2,3,4)); 

我沒有測試此查詢,但我相信這樣的事情應該工作,但它是可愛的寫類似c.article物品中(無連接)

回答

0

這並不工作,據我所知:

SELECT c FROM Comment c WHERE c.article IN(:articles) 
$query->setParameter('articles', array(1,2,3,4)); 
+0

感謝我將圍繞測試這個 – mkk 2012-02-16 10:47:52

+0

不,不工作 – mkk 2012-02-16 13:42:45

+0

是,錯誤的語法「)」 :)我猜問題是,它的變化:文章爲「(1,2,3 ,4「而不是(」1「, 「2」, 「3」, 「4」)。我只是使用了內爆功能,但我想避免它 – mkk 2012-02-17 10:31:09