代码之家  ›  专栏  ›  技术社区  ›  Mel

GraphQL-定义涉及相关实体的查询

  •  0
  • Mel  · 技术社区  · 3 年前

    我想知道如何学习Ben Awad的lireddit教程。

    我之前发布这个问题是为了解决一个定义查询类型的问题,现在我正试图找出如何解决在我尝试实现该帖子答案中给出的建议时产生的问题。

    注释后的代码是本教程中的查询。您可以看到中描述的问题 this post .

    // @Query(() => Post, { nullable: true })
    // post(@Arg("id") id: number): Promise<Post | undefined> {
    //   return Post.findOne(id);
    // }
    

    建议的解决方案是在查询中定义关系,如下所示:

     @Query(() => Post, { nullable: true })
     post(@Arg("id") id: number): Promise<Post | undefined> {
       return Post.findOne(id, { relations: "creator" });
     }
    

    当我尝试这一点时,我会得到一个错误,上面写着:

    没有与此呼叫匹配的重载。过载1/3'(这是: 对象类型,id?:字符串|数字|日期|对象ID |未定义, 选择?:FindOneOptions |未定义):Promise<>',给 下面的错误。 类型“string”不能分配给类型“string[]| undefined”。重载2/3'(这是:ObjectType,conditions?: 查找条件|未定义,选项?:FindOneOptions| 未定义):承诺<>',给出了以下错误。 “number”类型的参数不能分配给“FindConditions | undefined”类型的参数。

    这对我来说没有任何意义,因为查询是findOne——数组中会有什么?

    我不知道如何使用此反馈来尝试改进查询,无论是按照教程的定义,还是在我尝试将关系合并到查询中时。

    有人知道如何在graphQL中定义查询,或者对如何排除这些错误消息有什么建议吗?

    0 回复  |  直到 3 年前
    推荐文章