在我的hasura.io数据库中,有一个booking
表,用于存储具有以下属性的预订:
现在,通过UI,当用户进行预订时,我想检查以前是否有任何预订触及了那些日期的范围。
例如用户希望使用以下日期进行预订:
{
"from": "2020-03-31T14:00:00+00:00",
"to": "2020-03-31T17:00:00+00:00"
}
但是在同一日期有预订:
{
"from": "2020-03-31T15:00:00+00:00",
"to": "2020-04-01T17:00:00+00:00"
}
注意,此预订不在用户尝试预订的日期范围内。因此以下查询将不返回任何内容。
query CheckBooking($from: timestamptz!, $to: timestamptz!) {
booking(where: {_and: [{from: {_lte: $from}}, {to: {_gte: $to}}]}) {
id
from
to
}
}
以上是我尝试未成功的结果。谁能帮助找出检查范围内或范围内是否有任何预订用户新预订的正确查询?
[我们想分别考虑from
和to
,并对两者都应用一个范围。因此,您可以执行以下操作: