[英]Laravel - How can I load collection data into a table?
我用一個名為 $group_months 的變量存儲我的數據,以下是我 dd($group_months) 時的情況。 箭頭前面的數字代表月份,后面的數字是時間。 所以 10 = 十月
Collection {#187 ▼
#items: array:4 [▼
"Comp Time Used" => Collection {#292 ▼
#items: array:3 [▼
10 => "12:00:00"
11 => "09:00:00"
"01" => "12:00:00"
]
}
"Vacation Time Used" => Collection {#322 ▼
#items: array:1 [▼
11 => "04:00:00"
]
}
"Sick Time" => Collection {#325 ▼
#items: array:1 [▼
10 => "03:15:00"
]
}
"OT Accrued" => Collection {#316 ▼
#items: array:1 [▼
10 => "12:00:00"
]
}
]
}
我想使用這些數據並填寫我的表格,如下所示:
<table class="table table-striped table-sm">
<thead>
<tr>
<th scope="col">Month</th>
<th scope="col">Overtime Hours</th>
<th scope="col">Compensation Hours</th>
<th scope="col">Vacation</th>
<th scope="col">Personal Hours</th>
<th scope="col">Sick Hours</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Jan</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td>
</tr>
<tr>
<th scope="row">Feb</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<th scope="row">Mar</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<th scope="row">Apr</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<th scope="row">May</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<th scope="row">Jun</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<th scope="row">Jul</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<th scope="row">Aug</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<th scope="row">Sep</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<th scope="row">Oct</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<th scope="row">Nov</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<th scope="row">Dec</th>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
我不知道該怎么做,也許使用某種循環? 謝謝您的幫助。
編輯:現在將集合存儲為數組:
array:4 [▼
"Comp Time Used" => array:3 [▼
10 => "12:00:00"
11 => "09:00:00"
"01" => "12:00:00"
]
"Vacation Time Used" => array:1 [▼
11 => "04:00:00"
]
"Sick Time" => array:1 [▼
10 => "03:15:00"
]
"OT Accrued" => array:1 [▼
10 => "12:00:00"
]
]
這應該讓你開始。 在將其發送到視圖之前,我會將 controller 中的所有時間結合起來。 那會很容易。 在這里,如果該月存在數組鍵,它將打印該月的值。 如果它不存在,它不會拋出錯誤,因為array_key_exists
只會返回 false 並且什么都不做。
<table class="table table-striped table-sm">
<thead>
<tr>
<th scope="col">Month</th>
<th scope="col">Overtime Hours</th>
<th scope="col">Compensation Hours</th>
<th scope="col">Vacation</th>
<th scope="col">Personal Hours</th>
<th scope="col">Sick Hours</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Jan</th>
<td></td>
<td></td>
@if(array_key_exists(1, $group_months['Comp Time Used']))
<td>{{$group_months['Comp Time Used'][1]</td>
@else
<td>No time off used</td>
@endif
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<th scope="row">Feb</th>
<td></td>
<td></td>
@if(array_key_exists(2, $group_months['Comp Time Used']))
<td>{{$group_months['Comp Time Used'][2]</td>
@else
<td>No time off used</td>
@endif
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.