You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Prisma中User表自关联配置报错,求排查解决方法

Prisma用户表自关联配置错误修复

你的问题出在自关联关系只定义了单向字段,Prisma要求同一模型的自关联必须明确双向的关联字段,否则无法识别关系的完整性。

修改后的正确模型配置如下:

model User {
  id                BigInt                  @id(map: "user_pkey") @unique(map: "user_id_key") @default(autoincrement())
  firstname         String?                 @db.VarChar
  lastname          String?                 @db.VarChar
  username          String?                 @unique @db.VarChar
  email             String?                 @db.VarChar
  password          String?                 @db.VarChar
  organization      String?                 @db.VarChar
  createdAt         DateTime?               @db.Timestamptz(6)
  updatedAt         DateTime?               @db.Timestamptz(6)
  parent_id         BigInt?                 
  deletedAt         DateTime?               @db.Timestamptz(6)
  deleted_by        BigInt?  

  @@map("users")

  // 父级关联,指定关系名称和反向字段
  parent            User?                   @relation("UserParentChildren", fields: [parent_id], references: [id])
  // 子级关联,作为反向字段对应parent
  children          User[]                  @relation("UserParentChildren")
}

关键修改点:

  • 给parent字段的@relation添加了自定义关系名称UserParentChildren
  • 添加了反向关联字段children,同样关联到这个自定义关系名称

这样Prisma就能正确识别这是一个自关联的一对多关系:一个用户可以有多个子用户,一个子用户只能有一个父用户。

内容的提问来源于stack exchange,提问作者user19591368

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 13:40:58