graphql:将字段添加到连接表

Posted

技术标签:

【中文标题】graphql:将字段添加到连接表【英文标题】:graphql: adding a field to a join table 【发布时间】:2018-09-16 18:50:36 【问题描述】:

我有两组具有以下架构的记录

type Player 
    id: ID! @unique
    name: String!
    links: [NPC!]! @relation(name: 'linkedNpcs')


type NPC 
        id: ID! @unique
        name: String!
        playerLinks: [Player!]! @relation(name: 'linkedNpcs')

我想向linkedNpcs 添加一个名为relationType 的附加字段。

如何在我的types.graphql 文件中写入此内容?每个player-npc 链接都应该包含一个唯一的记录,并且由于它是多对多的关系,所以这个元数据应该存在于连接表上是有意义的。

【问题讨论】:

【参考方案1】:

通过 graphcool 论坛回答:https://www.graph.cool/forum/t/adding-a-field-to-a-relation-table-in-prisma/3086/2

感谢@matic!

enum RelationType 
  A
  B
  C


type Player 
  id: ID! @unique
  name: String!
  links: [PlayerNPC!]! @relation(name: 'linkedPlayer')


type PlayerNPC 
  id: ID! @unique

  relationType: RelationType!

  player: Player! @relation(name: 'linkedPlayer')
  npc: NPC! @relation(name: 'linkedNPC')


type NPC 
  id: ID! @unique
  name: String!
  links: [PlayerNPC!]! @relation(name: ‘linkedNPC’)

【讨论】:

以上是关于graphql:将字段添加到连接表的主要内容,如果未能解决你的问题,请参考以下文章

graphql prisma node js postgresql如何将创建日期/更新字段添加到graphql类型?

Graphql 继电器数组字段

将没有 ID 字段的表用于 GraphQL 服务器进行中继

如何将动态参数添加到 graphql 查询中

graphql node api:如何将字段定义为可选?

在基于 Django 的 GraphQL API 中为 postgres 表创建全局搜索字段的最佳方法?