解析关系查询:如何从关系列表中只获取一个用户

时间:2016-01-26 09:36:57

标签: android parse-platform

您好,我是parse,android和stackoverflow.com的新手,这是我的问题 我解析的两个课程是" post"和其他人是"用户"类。任何人都可以喜欢发帖和不喜欢的帖子。  我创建了两个关系栏" whoLiked"并且" whoDisliked"它指出喜欢/不喜欢特定帖子的用户列表。 当我向用户显示帖子时,我希望当前用户喜欢/不喜欢帖子只有一次我已正确设置。 但我唯一没有得到的是如何从thisPost对象中仅获取当前用户。 我不想获取喜欢这篇文章的用户列表我只是想知道当前用户是否喜欢它。

我是stackoverflow.com的新手。如果有任何错误,请忽略。提前谢谢你们。 下面是获取所有liker的查询     ParseObject post = ...

// create a relation based on the authors key
ParseRelation relation = book.getRelation("whoLiked");

// generate a query based on that relation
ParseQuery query = relation.getQuery();

query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> comments, ParseException e) {
    if (e == null) {
        // "user" is now a list of the user who liked 
    } else {
        // Something went wrong...
    }
}
});

1 个答案:

答案 0 :(得分:1)

只需添加约束即可检查currentUsers是否与objectId的{​​{1}}相同:

// create a relation based on the authors key
ParseRelation relation = book.getRelation("whoLiked");

// generate a query based on that relation
ParseQuery query = relation.getQuery();

// ADD CONSTRAINT HERE:
ParseUser currentUser = ParseUser.getCurrentUser();
query.whereEqualTo("objectId", currentUser.getObjectId());

query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> comments, ParseException e) {
    if (e == null) {
        // "user" is now a list of the user who liked 
    } else {
        // Something went wrong...
    }
}
});