如何仅使用具有连接关系行的行获得 sql 结果

How to get sql result with only rows that has a connected relations row

我正在尝试使用 Prism 客户端查询数据库,并且只想取回在联接 table.

中具有外键的行

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

我试过类似的东西:

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

但是结果不正确。 我不确定如何使用“none、一些或每个”

假设我有这样的架构:

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,
        },
      },
    },
  })

你能这样试试看吗?