解析平台在Android中使用join
我正在构建一个基于parse平台数据库的应用程序 我的数据库架构如下所示:解析平台在Android中使用join,android,parse-platform,back4app,Android,Parse Platform,Back4app,我正在构建一个基于parse平台数据库的应用程序 我的数据库架构如下所示: Users table: id User_name .... Items table: id (f) Item_name Count ..... User item table: Id User_id Item_id item_status item_notes ...... 我想要实现的是通过拥有用户id来获取项目名称,在android中使用解析如何实现这一点 编辑:要清楚。。。每个项目都将在User\u item表
Users table:
id
User_name
....
Items table:
id (f)
Item_name
Count
.....
User item table:
Id
User_id
Item_id
item_status
item_notes
......
我想要实现的是通过拥有用户id来获取项目名称
,在android中使用解析
如何实现这一点
编辑:要清楚。。。每个项目都将在User\u item
表中定义,即使是相同的项目,因为用户可能随时更改。
这就是为什么我希望user\u id
从items
表中获取项目名称。我假设您要查询“user item table”,所以
首先,您的itemId
字段应该是指向“Items表”中对象的指针,这样您就可以使用query.include(“itemId”)
这意味着“Items表”中的对象也将随查询一起返回
以下是对此的完整查询示例:
ParseQuery query=ParseQuery.getQuery(“UserItem”);
查询。包括(“项目ID”);
getFirstInBackground(新的GetCallback(){
公共无效完成(ParseObject对象,parsee异常){
ParseObject item=object.getParseObject(“itemId”);
String itemName=item.getString(“item_name”);
}
});
我不使用android SDK,因此这段代码可能并不完美-请参阅以了解更多详细信息(我从中提取了所有这段代码)
编辑:
添加query.whereEqualTo(“用户id”,“xxxxx”)
获取当前用户的用户项(用用户Id替换xxxxx
)
ParseQuery query=ParseQuery.getQuery(“UserItem”);
查询。包括(“项目ID”);
查询:whereEqualTo(“用户id”,“xxxxx”);
getFirstInBackground(新的GetCallback(){
公共无效完成(ParseObject对象,parsee异常){
ParseObject item=object.getParseObject(“itemId”);
String itemName=item.getString(“item_name”);
}
});
注释不适用于扩展讨论或调试会话;这段对话已经结束。请确保对答案进行了编辑,以反映在讨论中获得的任何见解。
ParseQuery<ParseObject> query = ParseQuery.getQuery("UserItem");
query.include("itemId");
query.whereEqualTo("User_id", "xxxxx");
query.getFirstInBackground(new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) {
ParseObject item = object.getParseObject("itemId");
String itemName = item.getString("Item_name");
}
});