假设我有两个对象article
和comment
。我想做的是获取所有注释,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 IN文章(没有JOIN)会很可爱
答案 0 :(得分:0)
这确实有效,AFAIK:
SELECT c FROM Comment c WHERE c.article IN(:articles)
$query->setParameter('articles', array(1,2,3,4));