多维包含

Multi-dimensional include

我需要有关 Parse 查询的帮助。我有三个 classes,它们在这种关系中有指针。 Activity class 列 "video" 指向视频 class,其中另一列 "videoOwner" 指向 _User class。我想要实现的是查询 Activity class 视频并从 _User class 获取相关所有者的详细信息。我试过这个

ParseQuery<ParseObject> activityQuery = ParseQuery.getQuery("Activity");
    activityQuery.setLimit(1000);
    activityQuery.whereEqualTo("video", ParseObject.createWithoutData("Video", objectID));
    activityQuery.whereEqualTo("type", "comment");
    activityQuery.whereExists("video");
    activityQuery.include("video");
    activityQuery.include("video.videoOwner");
    activityQuery.findInBackground(new FindCallback<ParseObject>() {
        public void done(List<ParseObject> vList, ParseException e) {
            if (e == null) { 

                for (int i = 0; i != vList.size(); i++) {
                    commenterUsername = vList.get(i).getParseObject("video.videoOwner").getString("username");
                    commenterName = vList.get(i).getParseObject("video").getParseObject("videoOwner").getString("fullName");
                    Log.e("User", commenterUsername);
                }
            }
            else {

            }
        }
    });

但它在日志中发生冲突,因为 commenterUsername 为空。非常感谢任何帮助我进行此查询的帮助,因为如果有一个简单且更清晰的解决方案可用,我不想进行太多查询。谢谢

在您发布的代码中有 getParseObject("video.videoOwner") 无效。

getParseObject("video.videoOwner") 应该是 getParseObject("video").getParseObject("videoOwner")

点符号仅适用于 include 语句,因此您必须像这样获取单个对象。