是否可以在pyramida中为模型创建两个或更多关系?

时间:2020-05-27 15:25:34

标签: graphql datamodel prisma prisma-graphql

我正在尝试在 datamodel.prisma

中为模型创建两个关系

datamodel.prisma

type User {
  id: ID! @id 
  user_id: String! @unique
  username: String!
  email: String! @unique
}

type Operation {
  id: ID! @id
  teams: [User] @relation(link: INLINE)
  created_by: User @relation(link: INLINE)
}

当我尝试部署这是我得到的错误

错误

Errors:

  Operation
    ✖ The relation field `teams` must specify a `@relation` directive: `@relation(name: "MyRelation")`
    ✖ The relation field `created_by` must specify a `@relation` directive: `@relation(name: "MyRelation")`

我要实现的是一个操作可以有多个成员(一对多),并且只能由一个成员(一对一)创建。如何在 Prisma 中实现这一目标?

1 个答案:

答案 0 :(得分:1)

您可以尝试这样创建它吗:

type User {
  id: ID! @id
  user_id: String! @unique
  username: String!
  email: String! @unique
}

type Operation {
  id: ID! @id
  teams: [User] @relation(name: "Teams", link: TABLE)
  created_by: User @relation(name: "Createdby", link: TABLE)
}

为同一模型创建多个关系时,必须使用name字段。 我也假设您正在使用Postgres。