I want to build a simple Home Feed like Instagram ...
# orm-help
a
I want to build a simple Home Feed like Instagram where the users sees new posts of the people he follows. So I try to findMany posts where the author of the post is followed by the user who’s requesting. Here is how I imagined it to work:
Copy code
return prisma.post.findMany({   
        where: {
          author: {
            some: {
              followers: { 
                followerId: {
                  equals: args.userId
                 } 
              }
            }
          }
        },
        include: {
          author: {   
            include: {
              followers: {
                include: {
                  follower: true
                }
              }
            }
          }
        }
      })
But unfortunately it tells me "Unknown arg
some
in where.author.some" (Schema in thread)
👀 1
Here are my User and Follows Model:
Copy code
model User {
 model User {
   uid String @id @default(uuid())
   username String? @db.VarChar(24) @unique 
   followers Follows[] @relation(name: "follower")
   following Follows[] @relation(name: "following")
 }
Copy code
model Follows { 
   follower      User  @relation(name: "follower", fields: [followerId], references: [uid], onUpdate: Cascade, onDelete: Cascade)
   followerId    String 
   following     User @relation(name: "following", fields: [followingId], references: [uid], onUpdate: Cascade, onDelete: Cascade)
   followingId   String
Copy code
@@id([followerId, followingId]) 
   @@unique([followerId, followingId])
 }
And here the Post model:
Copy code
model Post {
   id             Int     @id @default(autoincrement())
   name           String  @db.VarChar(255) 
   author         User @relation(fields: [authorId], references: [uid], onUpdate: Cascade, onDelete: Cascade)
   authorId String
a
Hey Aaron! I think you just a couple properties flipped around, this should work:
Copy code
return prisma.post.findMany({
    where: {
      author: {
        followers: {
          some: {
            followerId: {
              equals: 'userId'
            }
          }
        }
      }
    },
    include: {
      author: {
        include: {
          followers: {
            include: {
              follower: true
            }
          }
        }
      }
    }
  })