【问题标题】:How to create multiple relationships to the same filed in prisma如何在 prisma 中创建与同一字段的多个关系
【发布时间】:2019-07-30 09:12:51
【问题描述】:

这是我的 datamodel.prisma 文件的相关部分。

type Driver {
  id: ID! @unique
  zones: [Zone!] @relation(name: "DriverZones")
  shifts: [Shift!] @relation(name: "DriverShifts")
  preferredZone: Zone
  preferredShift: Shift
}


type Shift {
  id: ID! @unique 
  drivers: [Driver! ] @relation(name: "DriverShifts") 
}


type Zone {
  id: ID! @unique 
  drivers: [Driver! ] @relation(name: "DriverZones") 
}

在这里,我想根据我创建的数据模型为preferredZone 和preferredShift 创建类型Zone 和Shift 的关系。 这是一种单向关系。

关系字段preferredShift 必须指定@relation 指令:@relation(name: "MyRelation") , 关系字段preferredZone 必须指定一个@relation 指令:@relation(name: "MyRelation")

我将 PostgreSQL 用于我的 prisma 数据库。如何建立preferredZone 与Zone 之间的关系。并首选 Shift 到 Shift。

【问题讨论】:

    标签: prisma prisma-graphql


    【解决方案1】:

    您需要命名关系,因为您在相同类型之间有两个关系(Driver Shift 和 Driver Zone 都由两个关系连接)。

    在这种情况下,Prisma 要求您命名关系,这就是您发布的错误消息的内容。我认为这个数据模型应该可以工作:

    type Driver {
      id: ID! @unique
      zones: [Zone!] @relation(name: "DriverZones")
      shifts: [Shift!] @relation(name: "DriverShifts")
      preferredZone: Zone @relation(name: "PreferredZone")
      preferredShift: Shift @relation(name: "PreferredShift")
    }
    
    
    type Shift {
      id: ID! @unique 
      drivers: [Driver! ] @relation(name: "DriverShifts") 
    }
    
    
    type Zone {
      id: ID! @unique 
      drivers: [Driver! ] @relation(name: "DriverZones") 
    }
    

    【讨论】:

      猜你喜欢
      • 2022-11-25
      • 2022-10-25
      • 2020-07-30
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 2021-09-17
      • 1970-01-01
      相关资源
      最近更新 更多