2017-02-22 41 views
0

У меня есть несколько «типов» данных. Например, скажем, я отслеживаю, сколько кукурузы я собрал для каждого поля, и сколько соевых бобов я собрал для каждого поля.Как я могу отображать год для разных групп с помощью Twig?

Я могу собрать все необходимые данные - все хорошо. Он получает данные, что я немного спотыкаюсь.

Я хотел бы сгруппировать свои данные по вегетации (году). Что меня бросает, так это то, что у меня могут не всегда быть данные для кукурузы, или у меня могут не всегда быть данные для сои.

То, что я пытаюсь сделать, это что-то вроде этого. Каждый сезон (год) группируются вместе, но с указанием всех данных для каждого типа ...

HTML

<h3>2016 Season</h3> 
<table> 
<thead> 
    <tr> 
     <th>Harvest Date</th> 
     <th>Corn</th> 
     <th>Soybeans</th> 
    </tr> 
</thead> 
<tbody> 
<tr> 
    <td>2016-06-12</td> 
    <td>500</td> 
    <td>300</td> 
</tr> 
... 
</tbody> 
</table> 

<h3>2015 Season</h3> 
<table> 
<thead> 
    <tr> 
     <th>Harvest Date</th> 
     <th>Corn</th> 
     <th>Soybeans</th> 
    </tr> 
</thead> 
<tbody> 
<tr> 
    <td>2015-06-10</td> 
    <td>800</td> 
    <td>400</td> 
</tr> 
... 
</tbody> 
</table> 

Вот что я делаю в данный момент, который составляет около 80% близко.

веточка

{% if myData.soybeans|length %} 
    {% for year, crops in myData.soybeans|group('harvest_date|date("Y")') %} 
    <h3>2016 Soybeans</h3> 
    <table> 
    ... 
{% endfor %} 


{% if myData.corn|length %} 
    {% for year, crops in myData.corn|group('harvest_date|date("Y")') %} 
    <h3>2016 Corn</h3> 
    <table> 
    ... 
{% endfor %} 

который прекрасно работает, если я хочу, чтобы показать год, а затем перечислить все типы культур под ним в отдельных таблицах. Я хотел бы показать все типы культур в одной таблице. Но что, если у меня нет того или другого? Что я должен использовать для поиска даты для группировки?

+2

Я предлагаю вам сгруппировать их на стороне сервера. – Veve

+0

Hi Veve - Если вы обновите свое предложение в качестве ответа, я соглашусь с ним, а затем пересмотрю свой вопрос. – Damon

ответ

0

Это должно быть сделано на стороне сервера.

Это можно сделать с помощью Twig, но в хорошей архитектуре это не его роль.