如何在prisma-offset-pagination中正确引用Prisma Model解决调用报错
问题原因
你的报错由三个错误共同导致:
- PrismaClient 初始化逻辑错误:
new PrismaClient()返回的就是客户端实例本身,不需要从中解构prisma属性,你解构得到的prisma是undefined,后续读取prisma.user自然无效 - 漏传必填参数:示例代码中明确要求传入
prisma参数绑定Prisma实例,你的调用代码中缺失了该配置 - 异步方法未加await:
prismaOffsetPagination是异步方法,不加await会触发未处理Promise拒绝警告
解决代码
修改后的完整写法如下:
import pClient from '@prisma/client' import prismaOffsetPagination from 'prisma-offset-pagination' const { PrismaClient } = pClient // 正确初始化Prisma客户端 const prisma = new PrismaClient() async function getPageData() { const result = await prismaOffsetPagination({ // model传入模型名称字符串即可,不需要传入prisma.user实例 model: 'user', cursor: 2, size: 5, buttonNum: 3, orderBy: 'id', orderDirection: 'desc', // 补传prisma实例参数 prisma: prisma, }) return result }
如果你的包版本要求传入模型实例而非字符串,把model参数改为prisma.user即可,只要保证上面初始化的prisma是正确实例就不会报错。
内容的提问来源于stack exchange,提问作者Ibad Shaikh
相关产品推荐
相关产品推荐

