我正在将警报实体传递给我的视图,并且此实体可以访问可用性实体。因此,要访问警报可用性,我可以执行类似
的操作{% for alert in alerts %}
{% for availability in alert.getAvailability %}
{% endfor %}
{% endfor %}
getAvailability将基本上返回可用对象的数组集合。为了让您了解这些对象包含哪些数据,我创建了2个警报(id为#11; 12)。创建这些警报后,将为该警报创建可用性。所以我的数据是
id | alert_id | class_letter | alert_pseudo | flight_number | availability | last_updated
-------------------------------------------------------------------------------------------------
1 | 11 | C | 1E3 | VS7 | 9 | 26/02/2015 12:16:06
2 | 11 | D | 1E3 | VS7 | 9 | 26/02/2015 12:16:06
3 | 11 | C | 1E3 | VS7 | 9 | 26/02/2015 13:16:06
4 | 11 | D | 1E3 | VS7 | 6 | 26/02/2015 13:16:06
5 | 12 | E | 1E3 | BA5 | 6 | 26/02/2015 12:16:06
6 | 12 | I | 1E3 | BA5 | 9 | 26/02/2015 12:16:06
所以在12:16:06,为C和D类创建了可用性,并在13:16:06为他们创建了另外一些可用性。基本上,我需要的所有数据都在这个表中,我只需要弄清楚如何安排它。
我正在寻找的是这样的
Alert #11
VS7
C D
26/02/2015 12:16:06 9 9
26/02/2015 13:16:06 9 6
Alert #12
BA5
E I
26/02/2015 12:16:06 6 9
现在要实现上述目标,我基本上可以按照
的方式做点什么<div class="panel-body">
{% set i = 0 %}
{% set j = 0 %}
{% for alert in alerts %}
<h3 class='alert-header'>Alert #{{ alert.id }}</h3>
<div class="availability_table_container">
<table class="availability_table">
{% for pseudo in alert.getPseudos %}
{% for flight in alert.getFlightNumbers %}
<tr>
{% if j == 0 %}
<th></th>
{% endif %}
<th class='class-header'>{{ flight.getFlightNumber }}</th>
{% set j = j + 1 %}
</tr>
<tr>
{% for class in alert.getBookingClasses %}
{% if i == 0 %}
<th></th>
{% endif %}
<th class='pseudo-header'>{{ class.getClassLetter }}</th>
{% endfor %}
</tr>
{% for date in alert.getAvailability %}
<tr>
{% if i == 0 %}
<td class='time_row'>{{ date.getLastUpdated|date('d M Y H:00') }}</td>
{% endif %}
{% for avail in alert.getAvailability %}
<td>{{ avail.getAvailability }}</td>
{% endfor %}
</tr>
{% endfor %}
{% endfor %}
{% endfor %}
</table>
</div>
<div style="clear: both;"></div>
{% endfor %}
{% set i = i + 1 %}
</div>
现在几乎可以工作,但我得到的输出是
Alert #11
VS7
C D
26/02/2015 12:16:06 9 9 9 6
26/02/2015 12:16:06 9 9 9 6
26/02/2015 13:16:06 9 9 9 6
26/02/2015 13:16:06 9 9 9 6
Alert #12
BA5
E I
26/02/2015 12:16:06 6 9
26/02/2015 12:16:06 6 9
首先,它给了我太多日期。它应该是每个类集合的一个日期。另一个问题是可用性。它似乎输出每一行的所有可用性数字,而不是仅显示它自己的。
有没有办法让它更接近我的要求?更重要的是,在Twig中完成这一切是否正常?
由于