Android - 解析查询.include(“key”)不返回完整的ParseObject详细信息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android - 解析查询.include(“key”)不返回完整的ParseObject详细信息相关的知识,希望对你有一定的参考价值。
所以我正在开发一个使用解析v1.16.6的应用程序。我想在Class的查询中包含关系“students”。
这是我的查询的样子:
val query: ParseQuery<ParseObject> = ParseQuery.getQuery("Class")
query.include("students")
query.findInBackground(object : FindCallback<ParseObject> {
override fun done(objects: MutableList<ParseObject>?, e:
ParseException?) {
if (e == null) {
} else {
Log.wtf("Error", e.localizedMessage)
}
}
})
}
这是从拦截器获取的,“学生”关系只返回这个。学生的其他领域不包括在内。
"students":{
"__type":"Relation",
"className":"Student"
}
答案
您不能包含此类关系中的用户。在GitHub上看到这个问题:https://github.com/parse-community/parse-server/issues/4138
建议是在每个单独的对象上使用object.get("relationKey").query().get()
(这是JS,需要通过平台进行调整),或者如果需要include功能则使用指针。
编辑:我在下面的评论中讨论的例子
val query: ParseQuery<ParseObject> = ParseQuery.getQuery("Class")
query.findInBackground(object : FindCallback<ParseObject> {
override fun done(objects: MutableList<ParseObject>?, e:
ParseException?) {
if (e == null) {
val relationQuery: ParseQuery<ParseObject> = ParseQuery.getQuery("Relation")
relationQuery.whereMatchesKeyInQuery("classId", "classId", query);
relationQuery.findInBackground(....)
} else {
Log.wtf("Error", e.localizedMessage)
}
}
})
}
以上是关于Android - 解析查询.include(“key”)不返回完整的ParseObject详细信息的主要内容,如果未能解决你的问题,请参考以下文章