如何在时间存储为字符串的 laravel 中检查时隙是否冲突

how to check time slots colliding or not in laravel where time are stored as string

我正在处理一个插槽,我想检查给定时间是否与我的数据库中的任何其他条目冲突。

这是我的示例数据库结构数据,两个时隙都存储为字符串,因此查询没有按预期响应。

time_slot_starts (varchar) time_slot_ends (varchar) day
9.00 am 9.30 am Sunday
9.30 am 11.30 am Sunday
Meetings::where(function ($query) use ($slot_start, $slot_end) {
    $query->where(function ($query) use ($slot_start, $slot_end) {
        $query->where('time_slot_starts', '<=', $slot_start)
            ->where('time_slot_ends', '>', $slot_start);
    })
    ->orWhere(function ($query) use ($slot_start, $slot_end) {
        $query->where('time_slot_starts', '<', $slot_end)
            ->where('time_slot_ends', '>=', $slot_end);
    });
})
->count();

这是我使用的查询,但它总是 returns 0

我将存储时间段的值结构更改为24小时格式并存储为H:i:s