【问题标题】:"Property 'create' does not exist" in prisma clientprisma 客户端中的“属性‘创建’不存在”
【发布时间】:2021-11-07 16:45:20
【问题描述】:

我在 prisma.schema 中定义了一个实体“Board”,如下所示:

model Board {
  id        String   @id @default(uuid())
  createdAt DateTime @default(now()) @ignore
  updatedAt DateTime @updatedAt @ignore
  title     String
  posts     Post[]
  Team      Team     @relation(fields: [teamId], references: [id])
  teamId    String
}

使用 prisma 一段时间后,现在prisma.board.create 功能不可用(我想是在我添加updateAt的时候)

我确实可以使用其余功能,但尝试使用 create 不会自动完成并且出现此错误:

类型“BoardDelegate”.ts(2339) 上不存在属性“create”

我做错了什么? 当其余方法都存在时,create 不存在的常见情况是什么?

【问题讨论】:

  • 您应该能够使用prisma.board.create(...) 而不是prisma.create...。
  • 这就是我的意思。所有其他功能都存在(prisma.board.update、prisma.board.findMany 等),但 create 不存在
  • 您正在运行哪个版本的 Prisma,您启用了哪些实验性功能(如果有)?您是否尝试过通过生成的客户端?

标签: node.js prisma


【解决方案1】:

您可以尝试做同样的事情,但从 createdAt 字段中删除 @ignore 吗? 我有同样的问题,prisma-client v2.25.0 并修复了它。 如果是这样的话,我认为这是一个错误。

【讨论】:

    【解决方案2】:

    是的,您可以在此处找到文档:https://www.prisma.io/docs/concepts/components/prisma-client/crud#create(如 Pasindu Dilshan 所述)

    prisma.board.create({...})
    

    【讨论】:

    • 是的,这就是我在问题上的意思,出现错误是因为prisma.board.create() 不存在
    【解决方案3】:

    我添加了“?”登录这些字段并且它起作用了:

    model Board {
    ...
      createdAt DateTime? @default(now()) @ignore
      updatedAt DateTime? @updatedAt @ignore
    ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-15
      • 1970-01-01
      • 1970-01-01
      • 2020-12-18
      • 2020-04-17
      • 1970-01-01
      • 2021-10-05
      • 2022-07-29
      相关资源
      最近更新 更多