所以我有两个班级:
Request class
| objectId | user | data | status |
和
User class
| objectId | fullName |
'用户' Request
中的键是Relation<_User>
类型,它是指向User类的指针。
我希望获得status
为new
的所有请求,并且我也想获得用户的fullName
。
我想要的数据应该是这样的。
| objectId | user | data | status | fullName |
尝试过的
ParseQuery<ParseObject> query = ParseQuery.getQuery("Request");
query.include("user");
query.whereEqualTo("status", "new");
这将在请求中返回null
,但是当我删除include
方法时,它会显示该值但不包含fullName
。
有人可以帮忙吗?如果我的解释不清楚或者您需要更多信息,请发表评论。谢谢:))
修改
这是我在Request中插入新行的方法。
ParseObject post = new ParseObject("Request");
post.put("data", "data");
post.put("status", "new");
ParseUser user = ParseUser.getCurrentUser();
ParseRelation<ParseUser> relationRequest = post.getRelation("user");
relationRequest.add(user);
答案 0 :(得分:1)
一种简单的方法是在user1
类中创建包含Request
objectId
类的User
列。
用于创建user1
列使用
ParseUser currentUser=ParseUser.getCurrentUser();
ParseObject post = new ParseObject("Request");
post.put("data", "data");
post.put("status", "new");
post.put("user1", currentUser);
post.saveInBackground();
然后使用以下代码从User
类中获取 fullName 。
ParseQuery<ParseObject> getQuery = ParseQuery.getQuery("Request");
getQuery.include("user1");
getQuery.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> scoreList, ParseException e) {
if (e == null) {
if (scoreList != null && scoreList.size() > 0) {
ParseObject putData = scoreList.get(0);
String user1=putData.getParseObject("user1").getString("fullName");
String user2=putData.getString("user2");
Log.e("USer 1", ""+user1);
Log.e("USer 2", ""+user2);
}
}
}
});
这对我有用。也可以帮到你。