2

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

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

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

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

在视图中我可以渲染这个:

{{ entity.magazines.count }}

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

{{ entity.magazines.chapters.count }}

(假设“Chapters”是另一个与 ManyToOne Magazine 相关的实体)它会引发错误。我知道我在这里遗漏了一些东西,但我无法弄清楚它是什么。有人可以帮助我或提供有关如何执行此操作的提示吗?

4

1 回答 1

4

你不能这样做。您应该改用 DQL。

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

所以看Using Aggregate Functions 这里

于 2012-11-05T20:30:30.443 回答