如何在棱镜客户端中获取枚举?

How to get enums in prisma client?

我可以像 select 选项一样在客户端获取模型的枚举值列表吗?

示例枚举

enum user_type {
    superadmin
    admin
    user
}

我希望将此作为客户端的 select 选项。我怎样才能将它们作为 JSON 数据?

您可以像这样在应用程序代码中访问 user_type 枚举:

import {user_type } from "@prisma/client";

let foo: user_type = "superadmin";
// use like any other type/enum

您打算如何将其连接到客户端或将其发送到客户端由您决定。通常 Prisma 类型位于代码的服务器端,而不是客户端,因此可能很难直接在客户端代码中导入 Prisma 类型。

这就是 Prisma 在幕后定义 user_type 枚举的方式。

// file: node_modules/.prisma/client/index.d.ts
export const user_type: {
  superadmin: 'superadmin',
  admin: 'admin',
  user: 'user'
};

您可以根据需要将其复制并粘贴到您的客户端代码中。