我有一个简单的prisma.schema
⸺
model Joke {
id String @default(cuid()) @id
author Author
content String @unique
}
model Author {
id String @default(cuid()) @id
name String
jokes Joke[]
}
这是我的Query
⸺
t.list.field('getJokeByAuthor', {
type: 'Joke',
args: {
name: stringArg(),
},
resolve: (_, {name}, ctx) => {
return ctx.photon.authors.findMany({
where: {
name,
},
select: {
jokes: true,
},
});
// return ctx.photon.jokes.findMany({
// where: {
// author: {
// name,
// },
// },
// });
},
});
有评论的人可以工作,而没有评论的人不能,并且给我错误"Cannot return null for non-nullable field Joke.id."
。为什么?我想通过致电ctx.photon.authors
访问特定作者的笑话。我该如何实现?
另外,getJokeByAuthor
的返回类型是[Joke]
?它从哪里得到的?现在我要返回[Author]
了,应该不是ctx.photon.authors
吗?