使用Twig显示数据

时间:2015-02-26 17:07:44

标签: symfony twig

我正在将警报实体传递给我的视图,并且此实体可​​以访问可用性实体。因此,要访问警报可用性,我可以执行类似

的操作
{% 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中完成这一切是否正常?

由于

0 个答案:

没有答案