所以我有两门课:
Request class
| objectId | user | data | status |
和
User class
| objectId | fullName |
“用户”键入 Request
是 Relation<_User>
type 是指向 User 类的指针。
我想获取 status
处的所有请求是 new
我想得到 fullName
也是用户的。
我想要获取的数据应该是这样的。
| objectId | user | data | status | fullName |
这是我根据 Parse.com Android Guide 尝试过的
ParseQuery<ParseObject> query = ParseQuery.getQuery("Request");
query.include("user");
query.whereEqualTo("status", "new");
这将返回 null
在请求中,但是当我删除 include
时方法,它显示值但没有 fullName
.
有人可以帮忙吗?如果我的解释不清楚或者您需要更多信息,请发表评论。谢谢:)
编辑
这就是我在请求中插入新行的方法。
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);
最佳答案
一种简单的方法是在 Request
类中创建 user1
列,其中包含 User
类的 objectId
。
要创建 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);
}
}
}
});
这对我有用。也可能对你有帮助。
关于java - Android解析查询2个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33515749/