Android - 解析查询.include(“key”)不返回完整的ParseObject详细信息

问题描述 投票:0回答:1

所以我正在开发一个使用解析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"
}
android parse-platform kotlin
1个回答
0
投票

您不能包含此类关系中的用户。在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)
                }
            }
        })
}
© www.soinside.com 2019 - 2024. All rights reserved.