4

我是graphql的新手,我遇到了这个问题,不知道如何解决。

例如我有两个表:book 和 book_author;

book 有 book_id 和 name book_author 有 book_author_id, book_id, author_name

这两个表需要在一个请求中插入值,但是 book_author 表需要 book_id ,它是从它自己的 book 表中生成的。

有人可以帮我弄这个吗?非常感谢您的帮助。

预期结果是在调用发布请求或插入时。

例如。系统生成 book_id bk123,表 book_author 中的 book_id 也应该相同。

4

1 回答 1

8

这是可能的 - 重要的文档在这里: https ://docs.hasura.io/1.0/graphql/manual/mutations/multiple-mutations.html#insert-an-object-and-a-nested-object-in-相同的突变

mutation {
  insert_book_author(objects: {book: {data: {name: "New Book"}}, author_name: "Sarah"}) {
    affected_rows
    returning {
      book_author_id
      book {
        book_id
        name
      }
    }
  }
}

请注意嵌套书籍对象中未指定 id 的方式。Hasura 会在插入时自动填写。

添加book表格

添加一个book_author表,带有外键book

book在和之间添加对象关系book_author

使用嵌套对象运行突变

于 2019-08-26T19:36:44.167 回答