在Prisma2中收到错误“无法为非空字段Joke.id返回空”

时间:2019-10-05 07:30:37

标签: javascript prisma prisma-graphql nexus-prisma

我有一个简单的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吗?

0 个答案:

没有答案