@php
// park_number テーブルから指定駐輪場群の容量を集計
$parkIds = $parks->pluck('park_id')->toArray();
$parkNumberCapacity = 0;
if (!empty($parkIds)) {
$parkNumberData = \Illuminate\Support\Facades\DB::table('park_number')
->whereIn('park_id', $parkIds)
->selectRaw('COALESCE(SUM(park_standard), 0) + COALESCE(SUM(park_number), 0) + COALESCE(SUM(park_limit), 0) as total')
->first();
$parkNumberCapacity = $parkNumberData->total ?? 0;
}
@endphp
{{ number_format($parkNumberCapacity) }}
総収容台数
@php
$totalCapacity = $parkNumberCapacity;
$utilizationRate = $totalCapacity > 0 ? round(($stats['contracts_count'] / $totalCapacity) * 100, 1) : 0;
@endphp
{{ $utilizationRate }}%
利用率
{{ number_format(max(0, $totalCapacity - $stats['contracts_count'])) }}
空き台数
@php
// 待機超過分 / 総容量で予約待ち率を計算(超過なしは0%)
// 分母チェック付き:総容量 > 0 の場合のみ計算
$totalVacant = max(0, $totalCapacity - $stats['contracts_count']);
$waitingRate = 0;
if ($totalCapacity > 0 && $stats['waiting_count'] > 0 && $stats['waiting_count'] > $totalVacant) {
$waitingRate = (int) floor((($stats['waiting_count'] - $totalVacant) / $totalCapacity) * 100);
}
@endphp
{{ $waitingRate }}%
予約待ち率
{{ $city->city_name }}の駐輪場一覧
@if($parks->count() > 0)
@else
| 駐輪場ID | 駐輪場名 | 住所 | 収容台数 | 状態 | 操作 |
|---|---|---|---|---|---|
| {{ $park->park_id }} | {{ $park->park_name }} | {{ $park->park_address ?? '-' }} | {{ number_format($park->park_capacity ?? 0) }}台 | @if($park->park_status == 1) 稼働中 @else 停止中 @endif | 編集 |
この自治体にはまだ駐輪場が登録されていません。
@endif