这篇文章是关于:laravel:disable“booked”times from time range的
我需要以30分钟为单位显示从上午9点到下午5点的时间列表。然后我需要排除一定的次数。例如,如果12:30pm-1:30pm不可用,我需要在时间上有一个删除线。
“不可用时间”需要在一个数组中,因为任何给定的一天都可能有多个。
@php
$bookings_array = array(
array(
'start_time' => "09:00:00",
'end_time' => "10:00:00"
)
)
@endphp
@for ($i=$start_time;$i<=$end_time;$i = $i + 30*60)
@if($i >= strtotime($empbooking->start_time) && $i <= strtotime($empbooking->end_time))
@foreach($employee_booking as $booking)
Booking [unavailable] {{ $booking->start_time }} - {{ $booking->end_time }} ({{ $booking->title }}) <br>
@endforeach
@endif
{{ date('H:i a', $i) }} [available] <br>
@endfor
非常感谢你的帮助!
2条答案
按热度按时间yc0p9oo01#
感谢蒂亚戈的回答。我的完整代码如下所示:
iyzzxitl2#
我不清楚代码中每个变量的确切含义,但我相信您要查找的内容如下:
这个解决方案是可行的,但是有点慢,因为每次都要迭代bookings数组。一种更有效的方法是预先计算可用/不可用时间,然后进行渲染。