我正在尝试检查是否有可用的时间范围或无法预定。下面的代码显示了检查日期的时间范围的示例。
SELECT IT.id as it_id
, IT.name
, ITM.id
, ITM.start_datetime as start
, ITM.end_datetime as end
from i_times as it
JOIN i_times_meta as ITM
ON IT.id = ITM.ice_time_id
WHERE IT.rink_id = '.$id.'
and ITM.start_datetime < '2019-05-26 15:00:00'
and end_datetime > '2019-05-26 14:00:00'
但是,例如当重复发生事件时,就会出现问题。所以,可以说我有一个日期数组,可以说:
Array
(
[0] => Array
(
[start_datetime] => 2019-05-26 13:00:00
[end_datetime] => 2019-05-26 14:00:00
)
[1] => Array
(
[start_datetime] => 2019-05-27 13:00:00
[end_datetime] => 2019-05-27 14:00:00
)
[2] => Array
(
[start_datetime] => 2019-05-28 13:00:00
[end_datetime] => 2019-05-28 14:00:00
)
[3] => Array
(
[start_datetime] => 2019-05-29 13:00:00
[end_datetime] => 2019-05-29 14:00:00
)
....
....
....
)
现在,如何检查这些插槽中的任何一个是否已保留。我想用单个查询或类似的其他方法来制作它,这样就不会花费很多时间来获取数据。