gpt4 book ai didi

graphql - 日期之间的 Hasura graphql 查询

转载 作者:行者123 更新时间:2023-12-04 00:58:01 27 4
gpt4 key购买 nike

在我的 hasura.io 数据库中,我有一个 booking 表,我在其中存储具有以下属性的预订:

  • id(自动增量)
  • 来自 (timestamptz)
  • 到 (timestamptz)
  • 描述(文本)

  • 现在,从 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"
    }

    Notice, this booking is been made not within the range of the dates the user is trying to book. So the following query will return nothing.


    query CheckBooking($from: timestamptz!, $to: timestamptz!) {
    booking(where: {_and: [{from: {_lte: $from}}, {to: {_gte: $to}}]}) {
    id
    from
    to
    }
    }

    以上是我尝试过但没有成功的方法。
    任何人都可以帮助找出 检查用户新预订范围内或 内是否有任何预订的正确查询是什么?

    最佳答案

    我们想分别考虑 fromto 并对两者应用范围。因此,您可以执行以下操作:

    query CheckBooking($from: timestamptz!, $to: timestamptz!) {
    booking(where: {_or: [
    {_and: [{from: {_gte: $from}}, {from: {_lt: $to}}]},
    {_and: [{to: {_gt: $from}}, {to: {_lte: $to}}]},
    ]}) {
    id
    from
    to
    }
    }

    关于graphql - 日期之间的 Hasura graphql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60787554/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com