多维包含
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 语句,因此您必须像这样获取单个对象。
我需要有关 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 语句,因此您必须像这样获取单个对象。