我在存储库中有一个查询,如:
$rsm = new ResultSetMapping;
$rsm->addEntityResult('\My\ProjectBundle\Entity\News', 't');
$rsm->addFieldResult('t', 'id', 'id');
$rsm->addMetaResult('t', 'account_id', 'account_id');
$qb = $this->_em->createNativeQuery(
'SELECT t.*
FROM news as t
LEFT JOIN
LEFT JOIN
WHERE
CONDITIONS CONDITIONS
',
$rsm
);
return $qb->getResult();
我简化了上述查询,该查询用于检索符合特定条件的新闻。
我需要在此查询中添加count()
函数。
我在ManyToOne
和Comment
之间有另一个News
实体关系。
如何修改查询以获取给定新闻的评论编号?
我尝试添加左连接进行评论并在选择中添加Count()
,但我总是会收到错误。我怎么能解决这个问题?
答案 0 :(得分:0)
Doctrine 的原始SQL更容易这样:
$em = $this->getDoctrine()->getManager()->getConnection();
$query = "
SELECT t.*
FROM news as t
LEFT JOIN
LEFT JOIN
WHERE
CONDITIONS CONDITIONS
";
$stmt = $em->prepare($query);
$stmt->execute();
$result = $stmt->fetchAll();