关系图 QL

Relation GraphQL


尝试实施 join 但总是得到 null.

type User {
    id: Int!
    username: String!
    recipes: [Recipe]
  }

  type Recipe {
    id: Int!
    title: String!
    author: User
  }


所以基本上我想得到这样的数据:

User { 
  username,
  recipes: [{//recipe}, {//recipe}]
}

我期待的食谱

Recipe {
  title,
  author: {//user}  
}

所以我有如下查询,我想从包含用户的数据库中获取所有食谱

type Query {
    recipes: [Recipe!]!
  }

这是我的 GraphiQL 查询

{
  recipes {
    id,
    author {
      id,
      username
    }
  }
}

但作为回应我有 author: null

{
  "data": {
    "recipes": [
      {
        "id": 1,
        "author": null
      }]
   }
}


有什么建议么?谢谢!

也许有人会遇到类似的问题。 已经解决了这个问题。正如@Daniel Rearden 在评论中所说 - 是的,问题出在解析器中。

因此您必须将此字段添加到解析器:

const resolverFunctions = {
  User: {
      recipes(author) {
        return author.getRecipes();
      }
    },
  Recipe: {
      author(recipe) {
        return recipe.getUser();
      }
    }
}

之后你会得到我上面需要的数据。