关系GraphQL

时间:2017-10-31 14:17:28

标签: graphql graphql-js


尝试实施join但始终获得null

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

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


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

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

对于Recipe我期待

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

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

type Query {
    recipes: [Recipe!]!
  }

这是我的GraphiQL查询

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

但作为回应,我有author: null

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


有什么建议?谢谢!

1 个答案:

答案 0 :(得分:0)

也许有人会面临类似的问题。 修好了这个。正如@Daniel Rearden在评论中所说的那样 - 是的问题是解决方案。

所以你必须将这些字段添加到解析器中:

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

在您获得上面我需要的数据之后。