Graphql Prisma不返回创建的相关记录
我想创建一个新的GraphQLAPI,我有一个问题正在努力解决 该代码是开源的,可在以下网址找到: 我想创造一个变异来创造一个有关系的记录。。。在直接检查数据库时,似乎使用所有预期关系正确创建了记录,但是Graphql Prisma不返回创建的相关记录,graphql,prisma,prisma-graphql,Graphql,Prisma,Prisma Graphql,我想创建一个新的GraphQLAPI,我有一个问题正在努力解决 该代码是开源的,可在以下网址找到: 我想创造一个变异来创造一个有关系的记录。。。在直接检查数据库时,似乎使用所有预期关系正确创建了记录,但是create方法返回的值缺少所有关系 。。。所以我在api上得到了一个错误,因为“不能为不可为null的字段Meme.author返回null。”。我无法找出代码中可能出现的错误 解析程序如下所示: ... const newMeme = await ctx.prisma.createMeme(
create
方法返回的值缺少所有关系
。。。所以我在api上得到了一个错误,因为“不能为不可为null的字段Meme.author返回null。”。我无法找出代码中可能出现的错误
解析程序如下所示:
...
const newMeme = await ctx.prisma.createMeme({
author: {
connect: { id: userId },
},
memeItems: {
create: memeItems.map(({
type,
meta,
value,
style,
tags = []
}) => ({
type,
meta,
value,
style,
tags: {
create: tags.map(({ name = '' }) => (
{
name
}
))
}
}))
},
tags: {
create: tags.map(({ name = '' }) => (
{
name
}
))
}
});
console.log('newMeme', newMeme);
...
此处console.log
中的newMeme
值(此解析器中返回的值)为:
其中返回的字段是自动生成的字段。所以我得到了一个错误,因为我试图找到作者:
mutation{
meme(
memeItems: [{
type: TEXT
meta: "test1-meta"
value: "test1-value"
style: "test1-style"
}, {
type: TEXT
meta: "test2-meta"
value: "test2-value"
style: "test2-style"
}]
) {
id,
author {
displayName
}
}
}
有人知道是什么问题导致了这种情况吗?
(如前所述……直接检入数据库时,记录与预期的所有关系均已成功创建)。如prisma文档中所述,prisma客户端函数承诺写入数据,例如,对于CreateMee函数,仅返回对象的标量字段: 在数据库中创建新记录时,create方法使用一个输入对象,该对象将记录的所有标量字段包装为 创建。它还提供了一种为应用程序创建关系数据的方法 模型,这可以使用嵌套对象写入来提供 每个方法调用都返回一个包含所有 刚刚创建的模型的标量字段 见: 要返回对象的关系,您需要使用info片段或fluent api再次读取对象,请参阅:
mutation{
meme(
memeItems: [{
type: TEXT
meta: "test1-meta"
value: "test1-value"
style: "test1-style"
}, {
type: TEXT
meta: "test2-meta"
value: "test2-value"
style: "test2-style"
}]
) {
id,
author {
displayName
}
}
}