Symfony2在引用的实体中传输计数器

时间:2012-11-05 20:17:32

标签: php symfony doctrine twig

我在尝试获取Symfony2中与Doctrine相关的实体之间应该存在的一些信息时遇到了问题。

假设我有一个名为“Publisher”的实体,其中有许多“杂志”,其中有很多“章节”,其中有很多“页面”,我想从一个“Publisher”对象获取,获取Pages的总量他们所有的杂志,通过章节,都有。

Whil试图统计杂志,直接相关,我没有问题(我使用Twig作为模板)。 在控制器中,我检索列表:

$entities = $em->getRepository('Bundle:Publisher')->findAll();

在视图中我可以渲染:

{{ entity.magazines.count }}

这给了我与该出版商相关的杂志。但是,当我尝试执行以下操作时:

{{ entity.magazines.chapters.count }}

(假设“章节”是与ManyToOne杂志相关的另一个实体),它会抛出错误。 我知道我在这里遗漏了一些东西,但我无法弄清楚它是什么。有人可以帮我或提示如何做到这一点吗?

1 个答案:

答案 0 :(得分:4)

你不能这样做。你应该使用DQL。

现在访问entity.magazines后,您会收到一个杂志实体集合,您应该循环此集合以访问chapters集合中每个项目的entity.magazines

请参阅Using Aggregate Functions here