Jor*_*ora 3 postgresql enums typescript prisma
我正在尝试对一个简单的 prisma 实体运行查询User。模型:
model User {
id Int @id @default(autoincrement())
name String?
email String @unique
role Role @default(USER)
}
Run Code Online (Sandbox Code Playgroud)
实体包含一个用枚举类型调用的
Userprop 。枚举:RoleRole
enum Role {
USER
ADMIN
}
Run Code Online (Sandbox Code Playgroud)
除了在原始 SQL 查询中执行此操作之外,如何使用 Prisma where API 执行此操作:
const whereNameIs = await prisma.user.findMany({
name: 'Rich',
role: ?
})
Run Code Online (Sandbox Code Playgroud)
任何enum用 TS 或转换编写的自定义类型都不会匹配。打字稿中有没有解决这个问题的方法?
Prisma 库提供您在架构文件中定义的任何枚举类型的命名导出:
import { Role } from '@prisma/client'
app.get('users', async (req, res) => {
const users = await prisma.user.findMany({
name: 'Rich',
role: Role.ADMIN
});
});
Run Code Online (Sandbox Code Playgroud)
如果您动态接收值(例如通过查询字符串),那么它将如下所示:
const { role } = req.query;
const users = await prisma.user.findMany({
name: 'Rich',
role: Role[role as keyof typeof Role]
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6482 次 |
| 最近记录: |