2015-01-25 4 views
1

Я хотел бы сделать две петли за один раз, но я не знаю почему. Вот мой код: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 %} 

Проблема заключается в том, что теперь у меня есть результаты дважды ... Как я могу решить, что ?

Спасибо

ответ

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 %} 
+0

Лучше, у меня нет всех повторений результатов по количеству итераций в цикле. Но queryId не прав, если у меня есть 3 результата, queryId равен 0, 1, 2 – AlphaNico

+0

, вы должны проверить $ query_object –

+0

, что вы приветствуете :) –