获取属性条件的数组长度

时间:2016-07-23 23:57:38

标签: twig symfony

我想是否可以在属性上获取带有条件的数组的长度而不在控制器中创建另一个查询。

public function pageAction()
{
    $em = $this->getDoctrine()->getManager();
    $pages = $em->getRepository('AppBundle:Page')->findAll();
    return $this->render(':Frontend/includes:menu.html.twig', array(
        'pages' => $pages
    ));
}
视图中的

//number of all pages
{{ pages|length }} // output 15 (ok)

现在是否可以从控制器中返回的相同结果中获取 page.activate == true 的页数?

// number of page where page.activate == true
 ??

1 个答案:

答案 0 :(得分:3)

这应该有效:

{% set pageCount = 0 %}{# Sets variable #}
{% for p in pages if p.getActivate %}
    {% set pageCount = pageCount + 1 %}
{% endfor %}

<p>Activated Pages: {{ pageCount }}

试试吧!