【发布时间】:2018-09-13 11:27:01
【问题描述】:
假设我有 2 张桌子:
- 用户(ID、姓名、帖子)
- 帖子(id、消息、用户)
如何按用户名(desc)获取前 10 个帖子顺序?
我的架构如下所示:
var PostType = new GraphQLObjectType({
name: "Post",
fields: () => ({
id: { type: GraphQLInt },
message: { type: GraphQLString },
user: {
type: UserType,
args: {
orderBy: { type: sortType }
},
resolve(parent, args) {
console.info("Post resolve called.");
return userMap[parent.user];
}
}
})
});
var RootQuery = new GraphQLObjectType({
name: "RootQueryType",
fields: {
allPosts: {
type: new GraphQLList(PostType),
resolve(parentValue, args) {
console.info("allPosts resolve called.");
return postData;
}
}
}
});
和查询:
{
allPosts {
message
user (orderBy: {field: "name", direction: ASC}) {
name
}
}
}
有什么办法,我可以在 allPosts 解析器函数之前调用用户解析器函数吗?因为,我试图获取按名称排序的 10 个用户,然后将帖子 ID 传递给 allPosts 解析器。
【问题讨论】:
标签: graphql