在Controller和Twig模板中使用实体存储库的正确方法

时间:2015-01-28 23:06:03

标签: symfony doctrine-orm repository entity twig

还有其他问题,但我认为它们不包括我的用例。

我有一个用户,一个用户有项目。项目可以发布与否。

在Twig中(在几个地方,在几个模板中)我希望显示用户拥有的已发布项目的数量。

此信息不会直接存储在用户的实体中。我可以编写一个函数来在用户实体中执行此操作,但这将涉及迭代项目并检查每个已发布的状态。这似乎很慢。

另一种方法是在用户回购中编写查询并获取所有已发布项目的计数。但这意味着确保来自Repo的查询在每个Controller中执行,然后分配给每个Twig视图。这也感觉不是很理想,因为我需要计算很多地方,因此会在很多地方重复这个Repo查询。可能在每个控制器中。

因此,我如何从Twig,用户实体或回购中获取此数据?

1 个答案:

答案 0 :(得分:0)

我只是在ProjectEntity中有一个计数,其中published = true和id = userId,并将信息传递给树枝模板