我有一个Account对象,其中包含与newsbrief成员的一对多关系。在Twig中想要显示成员的数量。我知道我可以使用以下代码显示数量:
{{ account.mailList|length }}
只有mailList也包含非活动成员。有了这些成员,他们的领域活跃是错误的有没有办法过滤掉它们?这种工作方式是否会降低应用程序的速度?
答案 0 :(得分:3)
您可以在返回活动成员的帐户实体上创建方法
// src/AppBundle/Entity/Account.php
public function getActive()
{
$count = 0;
foreach($this->getMailList() as item) {
if (item->isActive()) { // Assuming the newsbrief members are entities
$count++ // with an $active property & isser().
}
}
return $count;
}
并从Twig那里打电话:
{{ account.getActive() }} # or {{ account.active }}
答案 1 :(得分:0)
你可以在树枝中使用for循环:
{% set activeMailCount = 0 %}
{% for mail in account.mailList if account.mailList.active %}
{% set activeMailCount = activeMailCount + 1 %}
{% endfor %}