Twig 中的多级数组有问题

Having problem with a multilevel-array in Twig

我尝试了所有方法,但我不知道如何获得与假期对象关联的一天。在 Twig 模板的多维数组中,我放了一年,一年有 12 个月,每个月有几天,每一天都有一个名称 ("Monday,..") 并且有假期,假期有一个假期对象。我正在努力展示谁有假期。 我的控制器代码:

$calendar['year'] = $year;

        for ($month = 1; $month <= 12; $month++) {
            $monthData = [];

            $numberOfDaysInThisMonth = Carbon::createFromDate($year, $month)->daysInMonth;

            // nafilat sve dane po keyevima
            for ($day = 1; $day <= $numberOfDaysInThisMonth; $day++) {
                $monthData[$day] = [
                    'day' => Carbon::createFromDate($year, $month, $day)->dayName
                ];

            foreach ($vacations as $vacation) {
                if((int)$vacation->getRequestedDate()->format('d') === $day  and (int)$vacation->getRequestedDate()->format('m') === $month){
                    $monthData[$day]['vacations'] []= $vacation;
                    }
                }
            }

            $calendar['months'][$month]['days'] = $monthData;

        }

Twig 模板

{{  calendar.year }}
{% for key, months in calendar.months %}
    <table style="width:100%">
        <tr><h4>{{key}}</h4></tr>
        <th>
    {% for key, days in months %}

        {% for key, day in days %}
            {{ day.day }}
            {% if vacations  %}
                {% for vacation in vacations %}
                {{ vacation.requestedBy.firstName }}
                {% endfor %}
            {% endif %}

            {% endfor %}

        {% endfor %}

        </th>
    </table>
    {% endfor %}

在模板中,我试图从那天休假的用户那里获取假期名称,但我得到了一年中的每一天所有休假的用户

在网络上我得到这个输出,我每天都得到每个假期的用户名

数组如下所示:

我解决了问题。现在输出是我每天显示的每个月,如果那天有假期,那么我会显示那天的每个用户名。

{{  calendar.year }}
{% for key1, months in calendar.months %}
    <table style="width:100%">
        <tr><h4>{{key1}}</h4></tr>
        <th>
    {% for key2, days in months %}

        {% for key3, day in days %}
            <tr>
                {{ key3 }}{{ day.day }}
                {% for vacation in vacations %}
                    {% if key3 == vacation.requestedDate|date('d') and key1 == vacation.requestedDate|date('m')%}
                    {{ vacation.requestedBy.firstName }}
                    {% endif %}
                {% endfor %}
            </tr>
            {% endfor %}

        {% endfor %}

        </th>
    </table>
    {% endfor %}