Php 小枝脱离循环,然后在下一个div中继续其余部分

Php 小枝脱离循环,然后在下一个div中继续其余部分,php,symfony,for-loop,twig,Php,Symfony,For Loop,Twig,我试图循环遍历一个会议对象数组,同一日期的每个会议都需要显示在其自己的div中,如果日期发生变化,那么该日期的会议需要显示在下一个div中,因此我要查找的输出如下所示 <div class="row"> <h2 class="date-heading">September 24</h2> <div class="col4">Meeting 1 </div> <div class="col4">Meet

我试图循环遍历一个会议对象数组,同一日期的每个会议都需要显示在其自己的div中,如果日期发生变化,那么该日期的会议需要显示在下一个div中,因此我要查找的输出如下所示

<div class="row">
    <h2 class="date-heading">September 24</h2>
    <div class="col4">Meeting 1 </div>
    <div class="col4">Meeting 2 </div>
    <div class="col4">Meeting 3 </div>
    <div class="col4">Meeting 4 </div>
    <div class="col4">Meeting 5 </div>
</div>

<div class="row">
    <h2 class="date-heading">September 25</h2>
    <div class="col4">Meeting 1 </div>
    <div class="col4">Meeting 2 </div>
    <div class="col4">Meeting 3 </div>
    <div class="col4">Meeting 4 </div>
    <div class="col4">Meeting 5 </div>
</div>

<div class="row">
    <h2 class="date-heading">September 26</h2>
    <div class="col4">Meeting 1 </div>
    <div class="col4">Meeting 2 </div>
    <div class="col4">Meeting 3 </div>
    <div class="col4">Meeting 4 </div>
    <div class="col4">Meeting 5 </div>
</div>

在控制器中执行逻辑,并将数据分别传递给Twig


你不希望这种逻辑隐藏在模板中。这将成为未来维护的一个难题,这样做会导致模板杂乱无章、难以读取。

在控制器中执行逻辑,并将数据分别传递给Twig

你不希望这种逻辑隐藏在模板中。这将成为未来维护中的一个难题,这样做会导致模板杂乱无章,难以阅读。

试试下面这段代码:

{% for request in pagination %}

    {# 
        If is a new date, open a new div TAG and dump the data.
        If the first element of the collection do not have this info
        consider to use loop.index0 as OR operation.
    #}
    {% if request.isNewDate %}
    <div class="row">
                                  {# print and format the date #}
        <h2 class="date-heading">{{ request.date }}</h2>
    {% endif %}

    {# Render data of an element, consider to wrap this data in a single twig and incude #}
    <div class="col4">

        <h5 class="">{{ request.getGuest.getFirstName }}</h5>
        <h6 class="text-transform-none">{{ request.getGuest.getCollege }}<br>
            {{ request.getGuest.getDegree }}<br>
            ({{ request.getGuest.getCourse }})
        </h6>
    </div>

    {# remember to close the div #}
    {% if request.isNewDate %}
        </div>
    {% endif %}


{% endfor %}
{%用于分页%中的请求]
{# 
如果是新日期,请打开新的div标记并转储数据。
如果集合的第一个元素没有此信息
考虑使用Roop.Roix0作为AS或操作。
#}
{%if request.isNewDate%}
{打印并格式化日期}
{{request.date}
{%endif%}
{一个元素的渲染数据,考虑把这个数据包在一个小枝中,并把它包起来。
{{request.getGuest.getFirstName}
{{request.getGuest.getCollege}}
{{request.getGuest.getDegree}}
({{request.getGuest.getCourse}}) {记住关闭div} {%if request.isNewDate%} {%endif%} {%endfor%}
希望有此帮助

请尝试以下截取的代码:

{% for request in pagination %}

    {# 
        If is a new date, open a new div TAG and dump the data.
        If the first element of the collection do not have this info
        consider to use loop.index0 as OR operation.
    #}
    {% if request.isNewDate %}
    <div class="row">
                                  {# print and format the date #}
        <h2 class="date-heading">{{ request.date }}</h2>
    {% endif %}

    {# Render data of an element, consider to wrap this data in a single twig and incude #}
    <div class="col4">

        <h5 class="">{{ request.getGuest.getFirstName }}</h5>
        <h6 class="text-transform-none">{{ request.getGuest.getCollege }}<br>
            {{ request.getGuest.getDegree }}<br>
            ({{ request.getGuest.getCourse }})
        </h6>
    </div>

    {# remember to close the div #}
    {% if request.isNewDate %}
        </div>
    {% endif %}


{% endfor %}
{%用于分页%中的请求]
{# 
如果是新日期,请打开新的div标记并转储数据。
如果集合的第一个元素没有此信息
考虑使用Roop.Roix0作为AS或操作。
#}
{%if request.isNewDate%}
{打印并格式化日期}
{{request.date}
{%endif%}
{一个元素的渲染数据,考虑把这个数据包在一个小枝中,并把它包起来。
{{request.getGuest.getFirstName}
{{request.getGuest.getCollege}}
{{request.getGuest.getDegree}}
({{request.getGuest.getCourse}}) {记住关闭div} {%if request.isNewDate%} {%endif%} {%endfor%}

希望此帮助

然后你能告诉我如何在控制器中准备此类日期,以便细枝可以循环通过它并根据需要显示它吗?然后你能告诉我如何在控制器中准备此类日期,以便细枝可以循环通过它并根据需要显示它吗?