Prisma 中按多列排序

And*_*scu 15 prisma prisma-graphql

我知道目前Prisma不支持按多个标量字段排序(请参阅此问题: https: //github.com/prisma/prisma/issues/62)。但是,我想知道是否有人找到了解决此问题的解决方案,而无需使用executeRaw 突变(原始SQL),因为我的代码中有很多地方需要按多个字段进行排序,但我不想在很多地方都使用executeRaw。我将不胜感激任何建议。谢谢你!

小智 41

从 Prisma 2.4 开始,这基本上可以通过在 orderBy 中使用数组来实现:

const users = await prisma.user.findMany({
   select: {
      email: true,
      role: true,
   },
   orderBy: [
      {
         email: 'desc',
      },
      {
         role: 'desc',
      }
   ],
})
Run Code Online (Sandbox Code Playgroud)

在文档中查找更多信息:https://www.prisma.io/docs/reference/api-reference/prisma-client-reference#sort-user-by-multiple-fields---email-and-role