多维包括

时间:2015-05-10 19:03:37

标签: android pointers multidimensional-array parse-platform include

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

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 {

            }
        }
    });

但它在Log处发生冲突,因为commenterUsername为null。任何有助于我进行此查询的帮助都非常受欢迎,因为如果有一个简单而清晰的解决方案,我不想做太多的查询。谢谢

1 个答案:

答案 0 :(得分:1)

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

getParseObject("video.videoOwner")应为getParseObject("video").getParseObject("videoOwner")

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