我在Parse.com上有两个课程:Image&用户。在User类中,我正在保存3个字段Name,Mobile-number&占用。在Image类中,我正在保存图像。
我必须在这两个类之间创建一对多的关系,以便我可以使用相应的手机号码获取图像。
我在parse.com上创建了User类和Image类之间的关系,并在User类中创建了一个名为Mobile的列。无法找到如何使用具有一对多关系的特定移动电话号码获取图像。请通过文档获取帮助。提前致谢。
答案 0 :(得分:3)
这只是代码。你将不得不考虑如何仔细地组织你的课程。我不确定你打算如何去,但就编码而言,以下内容应该有所帮助。
首先获得当前用户。
ParseUser currentUser = ParseUser.getCurrentUser();
由于您将“移动”列作为User表中的关系,因此首先获取关系。 像这样。
ParseRelation<ParseObject> relation = currentUser
.getRelation("mobile");
获得关系后,获取需要的对象的查询。在您的情况下,它是图像对象。
ParseQuery<ParseObject> query = relation.getQuery("Image");
从这里,您可以自定义查询。例如:
query.getFirstInBackground(new GetCallback<ParseObject>() {
public void done(ParseObject, ParseException e) {
if(e == null)
//your code
//List<ParseFile> pFileList = (ArrayList<ParseFile>) object.get("images"); //something like this just to give an idea
}
});
或者,如果您有多个对象,请使用
query.findInBackground(new FindCallback<ParseObject>() {
public void done(List<ParseObject> list, ParseException e) {
if (e == null) {
for (ParseObject object : list) {
ParseFile image = (ParseFile) object.get("images_column_name");
}
}
}
});
答案 1 :(得分:0)
如果Image
类只有一个User
与之相关,只需使用引用属性即可。您可以将其称为owner
或user
或其他任何内容。然后,您只需将其设置为当前用户(或任何其他用户)。
内部Parse将仅存储此对象的ID以及一些额外信息,以使其成为另一个类的链接。
当您查询时,您可以简单地使用当前用户(或任何其他用户)来与该属性进行比较。再一次,Parse将在内部只比较ID,你不必考虑它。
查看documentation here。查看它将parent
的{{1}}属性设置为Comment
的实例的位置?这就是你想要做的事情。
使用手机号码链接是一个坏主意,就像你更改Post
上的号码一样,那么使用该号码的所有User
类现在都是孤立的,除非您编写额外的代码来处理此