我正在尝试将Parse用作我的应用程序的后端,我已经建立了一个"关系"两个对象之间(ParseUser和SingleWorkout)。在这个ParseUser对象中,我保留了一个名为" user_likes"的关系。和" user_favorites"并且这种关系保持SingleWorkout对象关系。
我希望能够看到ParseUser对象和SingleWorkout对象之间是否存在关系,以及它是否返回true / false。
以下是我编写的两个执行查询的方法,如果没有关系,我希望在回调中接收0,如果存在关系则为1,因为在特定的objectId上只能有1个关系。
问题是这个查询返回-1和0,有时它只会返回0.我如何调整查询以返回2个对象之间是否存在关系?
private void queryLikeRelation() {
relation = currentUser.getRelation("user_likes");
query = relation.getQuery();
query.whereExists(currentSingleWorkout.getObjectId());
query.countInBackground(new CountCallback() {
@Override
public void done(int i, ParseException e) {
Log.e(TAG, i + "LIKE OBJECTS");
if (i == -1){
isStillLiked = true;
ivLike.setImageResource(R.drawable.like_content_selector);
isLikeChecked = true;
} else {
isStillLiked = false;
ivLike.setImageResource(R.drawable.like_blank_content_selector);
isLikeChecked = false;
}
}
});
}
private void queryFavoriteRelation() {
relation = currentUser.getRelation("user_favorites");
query = relation.getQuery();
query.whereExists(currentSingleWorkout.getObjectId());
query.countInBackground(new CountCallback() {
@Override
public void done(int i, ParseException e) {
Log.e(TAG, i + "FAVORITE OBJECTS");
if (i == -1){
isStillFavorited = true;
ivFavorite.setImageResource(R.drawable.favorite_content_selector);
isFavoriteChecked = true;
} else {
isStillFavorited = false;
ivFavorite.setImageResource(R.drawable.favorite_blank_content_selector);
isFavoriteChecked = false;
}
}
});