Pagination
The examples use the following prisma schema:
model Post {
id String @id @default(cuid())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
published Boolean
title String
content String?
comments Comment[]
}
model Comment {
id String @id @default(cuid())
createdAt DateTime @default(now())
content String
post Post @relation(fields: [postID], references: [id])
postID String
}
Return the first 5 rows
selected, err := client.
Post.
FindMany().
Take(5).
Exec(ctx)
Return the first 5 rows and skip 2 rows
selected, err := client.
Post.
FindMany().
Take(5).
Skip(2).
Exec(ctx)
Cursor-based pagination
Instead of using Skip
, you can also provide a cursor:
selected, err := client.
Post.
FindMany().
Take(5).
Skip(2).
Cursor(db.Post.ID.Cursor("abc")).
Exec(ctx)
Also check out the order by docs to understand how you can combine cursor-based pagination with order by.