Laravel 时间 table

Laravel time table

我正在 Laravel 安排时间 table,用户可以 select 说 10:00 的一个字段,并保留设备直到说 12:00。

我无法显示从何时到何时保留设备的范围

@while($scheduler_start_time < $scheduler_end_time)
    <tr>
        <td>{{$scheduler_start_time->format('H:i:s')}}</td>
        @foreach($equipment as $instrument)
            <td>
                <a href="#">

                    @if($instrument->reservations->where('reserved_from','=', $scheduler_start_time)
                    ->where('reserved_to','<=', $scheduler_end_time)->first() != null)

                        HERE

                    @else
                        &nbsp;
                    @endif
                </a>
            </td>
        @endforeach
        <?php $scheduler_start_time->addMinutes(30) ?>
    </tr>
@endwhile

一个乐器可以有多个预定:

这就是我在 reserved_from 等于时间的预订时得到的结果。如果我使用 >= 我正在获取两条记录。我需要一种方法来查看,例如:Instrument3 从 6:30 到 7:30,然后从 9:30 到 10:00

保留

除非我误解了你的问题,否则我认为你只需要在 'reserved_from' 上添加一个上限。这行得通吗?

@if($instrument->reservations->where('reserved_from','>=', $scheduler_start_time)->where('reserved_from', '<', $scheduler_end_time)->where('reserved_to','<=', $scheduler_end_time)->first() != null)

更新:由 OP

解决
@if($instrument->reservations ->where('reserved_from','<=', $scheduler_start_time) ->where('reserved_to','>=', $scheduler_start_time)->first() != null