Hey everyone, I have a use case I’m building a ne...
# orm-help
a
Hey everyone, I have a use case I’m building a newsletter reader with prisma + sqlite as the db setup. For a particular user, I want to get the newsletters list ordered by which newsletter has the latest issue (i.e if Newsletter A has a more recent issue than Newsletter B then Newsletter A should be first in order) Following is a rough representation of my schema:
Copy code
model Newsletter {
  id         Int      @id @default(autoincrement())
  createdAt  DateTime @default(now())
  updatedAt  DateTime @updatedAt

  name        String
  issues Issue[]

  User   User? @relation(fields: [userId], references: [id])
  userId Int?
}

model Issue {
  id         Int      @id @default(autoincrement())
  createdAt  DateTime @default(now())
  updatedAt  DateTime @updatedAt

  subject String
  content String

  Newsletter   Newsletter? @relation(fields: [newsletterId], references: [id])
  newsletterId Int?
}
What’s the best way to implement my use case?
e
Hey Arnav, what's up ? I think the answer to this is perform a query like this:
this.prisma.issues.findMany({
where: {
newsletter: {
OR: [
{
uid: "Your newsletter A uid",
},
{
uid: "Your newsletter B uid",
}
]
}
},
orderBy: {
createdAt: "desc"
}
})}
a
This gives me an ordered list of issues, whereas I want an ordered list of newsletters that are sorted by which newsletter received the latest issue
e
Sorry man.. i don't have an idea on how to do that for now..