{{ $park->park_name }}
{{ $park->park_adrs }} 【標準収容台数】 @foreach($zoneStandardSum as $type => $count) {{ $type }}:{{ $count }}台  @endforeach
{{ $park->price_memo }}
@php $zonesByPtype = $zones->groupBy('ptype_id'); @endphp @foreach($zonesByPtype as $ptypeId => $zonesGroup)
{{ $zonesGroup->first()->ptype_subject }}
@foreach($zonesGroup as $zone) @php $vacant = $vacancyData[$zone->psection_id . '_' . $zone->ptype_subject] ?? 0; $grace = $city_grace_periods[$park->city_id] ?? null; $now = \Carbon\Carbon::now(); // 猶予期間判定 $isGracePeriod = false; if ($grace && $grace->update_grace_period_start_date && $grace->update_grace_period_start_time && $grace->update_grace_period_end_date && $grace->update_grace_period_end_time) { $now = \Carbon\Carbon::now(); $year = $now->year; $month = $now->month; $startDay = (int)$grace->update_grace_period_start_date; $endDay = (int)$grace->update_grace_period_end_date; $startTime = $grace->update_grace_period_start_time; $endTime = $grace->update_grace_period_end_time; if ($startDay > $endDay) { // 月またぎ // 前月の開始日~今月の終了日 $prevMonth = $now->copy()->subMonth(); $startPrev = \Carbon\Carbon::createFromFormat('Y-m-d H:i', sprintf('%04d-%02d-%02d %s', $prevMonth->year, $prevMonth->month, $startDay, $grace->update_grace_period_start_time)); $endCurr = \Carbon\Carbon::createFromFormat('Y-m-d H:i', sprintf('%04d-%02d-%02d %s', $year, $month, $endDay, $grace->update_grace_period_end_time)); // 今月の開始日~翌月の終了日 $startCurr = \Carbon\Carbon::createFromFormat('Y-m-d H:i', sprintf('%04d-%02d-%02d %s', $year, $month, $startDay, $grace->update_grace_period_start_time)); $nextMonth = $month == 12 ? 1 : $month + 1; $nextYear = $month == 12 ? $year + 1 : $year; $endNext = \Carbon\Carbon::createFromFormat('Y-m-d H:i', sprintf('%04d-%02d-%02d %s', $nextYear, $nextMonth, $endDay, $grace->update_grace_period_end_time)); $isGracePeriod = $now->between($startPrev, $endCurr) || $now->between($startCurr, $endNext); } else { // 同月 $start = \Carbon\Carbon::createFromFormat('Y-m-d H:i', sprintf('%04d-%02d-%02d %s', $year, $month, $startDay, $grace->update_grace_period_start_time)); $end = \Carbon\Carbon::createFromFormat('Y-m-d H:i', sprintf('%04d-%02d-%02d %s', $year, $month, $endDay, $grace->update_grace_period_end_time)); $isGracePeriod = $now->between($start, $end); } } @endphp
{{ $zone->psection_subject }}:空き {{ max(0, $vacant) }}台 @if($isGracePeriod) @if($vacant > 0) @else @endif @else @endif
@endforeach
@endforeach