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 %}
我尝试了所有方法,但我不知道如何获得与假期对象关联的一天。在 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 %}