Graphql - 有没有办法同时插入两个表,但第二个表依赖于从第一个表返回的



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

例如,我有两个表:书和book_author;

书有book_id和名称 book_author有book_author_id、book_id author_name

两个表需要在单个请求中插入值,但book_author表需要从书表中生成book_id它自己。

有人可以帮助我吗?非常感谢帮助。

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

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

这是可能的 - 重要的文档在这里: https://hasura.io/docs/latest/graphql/core/databases/postgres/mutations/multiple-mutations/#insert-an-object-and-a-nested-object-in-the-same-mutation

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_authorbook

bookbook_author之间添加对象关系

对嵌套对象运行突变

最新更新