【问题标题】:How do you filter multiple related records using prisma?如何使用 prisma 过滤多个相关记录?
【发布时间】:2021-03-07 23:45:51
【问题描述】:

这是我的示例过滤器,但不幸的是这不起作用,我只是想知道是否有一种方法可以过滤 Prisma 中的多个相关记录?

这是我的示例架构:

model SalesReport {
  id String @id @default(uuid())
  dateCreated DateTime @default(now())
  name String
  tin String?

  // salesStaff
  salesStaff SalesStaff[]
}

已解决:

{
  skip: 0,
  orderBy: {
    name: 'desc'
  },
  where: {
    AND: [
      {
        salesStaff: {
          some: {
            AND: [
              {
                id: {
                  equals: 'fe4a3704-67a3-4a09-8471-18a95ee22bd0'
                }
              },
              {
                id: {
                  equals: 'z24a3712-67a3-4a09-8471-18a95ee22bd1'
                }
              }
            ]
          }
        }
      }
    ],
  },
}

我只需要将AND 放在some 中,就可以对相关记录进行多次过滤(我真傻)

【问题讨论】:

  • 您能分享一下您的架构吗?您想通过上述查询实现什么目标?
  • 我想从相关的 salesStaff 表中过滤一个项目
  • 谢谢老兄,我已经成功了——在我检查了生成的 prisma 代码之后,我发现您可以在 some 中添加 AND 以进行多次过滤:)

标签: javascript prisma


【解决方案1】:

some里面使用AND帮我解决了问题,呵呵。

{
  skip: 0,
  orderBy: {
    name: 'desc'
  },
  where: {
    AND: [
      {
        salesStaff: {
          some: {
            AND: [
              {
                id: {
                  equals: 'fe4a3704-67a3-4a09-8471-18a95ee22bd0'
                }
              },
              {
                id: {
                  equals: 'z24a3712-67a3-4a09-8471-18a95ee22bd1'
                }
              }
            ]
          }
        }
      }
    ],
  },
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-13
    • 2023-03-23
    • 1970-01-01
    • 2019-06-27
    • 1970-01-01
    • 2020-03-15
    • 2021-08-25
    • 1970-01-01
    相关资源
    最近更新 更多