2

我正在尝试使用 Prism 客户端查询数据库,并且只想返回连接表中具有外键的行。

例如,获取所有还创建了帖子的用户。我需要一种“INNER JOIN”。

我试过类似的东西:

return this.prisma.user.findMany({
    where: {
        Post: {
            some: {
                id: {
                    not: 0,
                }
            }
        }
    }
});

但结果不是正确的。我不确定如何使用“none, some or every”

4

1 回答 1

3

假设我有这样的架构:

model User {
  id        Int      @default(autoincrement()) @id
  name      String
  posts     Post[]
  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt
}

model Post {
  id        Int      @default(autoincrement()) @id
  title     String
  user      User?    @relation(fields: [userId], references: [id])
  userId    Int?
  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt
}

我通过以下查询获得没有任何帖子的用户:

  const usersWithoutPosts = await prisma.user.findMany({
    where: {
      posts: {
        none: {
          id: undefined,
        },
      },
    },
  })

你可以试试这种方法并检查吗?

于 2020-08-28T19:50:43.247 回答