Twig两个循环合二为一

时间:2015-01-25 17:47:49

标签: symfony twig

我想一次做两个循环,但我不知道为什么。 这是我的代码:

控制器:

foreach($query_object as $query) {
                 $result[] = $query->getQuery();
                 $result_query[] = $query->getId();
            }
    }   
            if (isset($result)) 
        {


            return $this->render('FOSUserBundle:Profile:show.html.twig', array(
                'user' => $user, 'result' => $result, 'result_query' => $result_query
            ));
        }
        else
        {
            return $this->render('FOSUserBundle:Profile:show.html.twig', array(
                'user' => $user
            ));
        }
    }

观点:

{% if  result is defined %}
                    {% for query in result %} 
                        {% for query2 in result_query %}                        
                            <li><a href="{{ path('biblishare_biblio', { 'queryId' : query2 , 'title' : query }) }}" title="{{ query }}" class="a">{{ query }}</a></li>
                        {% endfor %}
                    {% endfor %}
                {% else %}

问题是现在我有两次结果...... 我该如何解决?

谢谢

1 个答案:

答案 0 :(得分:0)

我不知道你的问题到底是什么,但你可以通过使用数组键来缩短和简化你的代码,例如:

foreach($query_object as $query) {
  $result[$query->getId()] = $query->getQuery();
}

在树枝上你做

{% for id,query in result %}                        
    <li><a href="{{ path('biblishare_biblio', { 'queryId' : id , 'title' : query }) }}" title="{{ query }}" class="a">{{ query }}</a></li>
{% endfor %}