我正在使用名为$ 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"
]
]
答案 0 :(得分:2)
这应该使您入门。在将其发送到视图之前,我将结合控制器中的所有时间。这将使其变得容易。在这里,如果该月存在数组键,它将打印该月的值。如果它不存在,它将不会引发错误,因为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>