Prisma - 如何通过关系查询? (获取关注用户的帖子)

问题描述 投票:0回答:1

我正在构建一个简单的提要,用户可以在其中查看他关注的人的所有帖子。

所以理论上我想做的是获取所有帖子(findMany),其中帖子作者后面跟着请求的用户。

听起来很简单,但我在文档中找不到任何解释如何操作的内容。

这是我的架构:

用户:

model User {
  uid String @id @default(uuid())
  username String? @db.VarChar(24) @unique 
  followers Follows[] @relation(name: "follower")
  following Follows[] @relation(name: "following")
}

帖子:

model Post {
  id             Int     @id @default(autoincrement())
  name           String  @db.VarChar(255) 
  author         User @relation(fields: [authorId], references: [uid])
  authorId String

跟随(显式多对多)

model Follows { 
  follower      User  @relation(name: "follower", fields: [followerId], references: [uid])
  followerId    String 
  following     User @relation(name: "following", fields: [followingId], references: [uid])
  followingId   String  

这是我想象的工作方式:

return prisma.post.findMany({   
        where: {
          author: {
            some: {
              followers: { 
                followerId: {
                  equals: args.userId
                 } 
              }
            }
          }
        },
        include: {
          author: {   
            include: {
              followers: {
                include: {
                  follower: true
                }
              }
            }
          }
        }
      })

我遇到的错误:

Unknown arg `some` in where.author.some

我也尝试过不使用“some”,但随后我得到以下输出:

Unknown arg `followers` in where.author.followers
javascript node.js orm graphql prisma
1个回答
0
投票

您目前面临的问题解决了吗?

© www.soinside.com 2019 - 2024. All rights reserved.