添加doctrine2查询的所有相关项的计数

时间:2011-07-28 03:37:48

标签: php mysql sql database doctrine-orm

我在doctrine2上的这个查询基本上返回了主机拥有的不同标签。可能不是最好的方法,但它的工作原理。请参阅标记< - > ticket< - >主机是多种关系。

$qb->select('t')
    ->from('App\Entity\Tag', 't')
    ->join('t.tickets', 'p')
    ->join('p.hosts', 'b')
    ->where('b.id = '. $this->host->getId())
    ->add('orderBy', 't.name ASC');

正如我所说的问题不是这个查询(有效!),但我想在那里添加一个计数来查看返回的Tag有多少票。 一整天都在尝试:

$qb->expr()->countDistinct("p.id");

或者即使使用DQL但无法使其正常工作,也会感激任何建议。

问候,

1 个答案:

答案 0 :(得分:0)

你可以尝试:

$qb->addSelect(
  $qb->expr()->countDistinct("p.id")
);