Parse-platform使用Android加入

问题描述 投票:1回答:1

我正在使用基于解析平台数据库的back4app构建应用程序。

我的数据库架构是这样的:

Users table:
id
User_name
....
Items table:
id (f)
Item_name
Count
.....
User item table:
Id
User_id
Item_id
item_status
item_notes
......

我想要实现的是通过item_name获得user_id如何在android中使用parse这是可能的?

编辑:要清楚......每个项目都将在User_Item表中定义,即使它是相同的项目,因为用户可能随时更改。这就是为什么我希望user_iditems表中获取item_name。

android parse-platform back4app
1个回答
2
投票

我假设您要查询“用户项目表”,以便......

首先,你的itemId字段应该是指向'Items表'中对象的指针,这样你就可以使用query.include("itemId");,这意味着'Items表'中的对象也将随查询一起返回。

以下是完整查询的示例:

ParseQuery<ParseObject> query = ParseQuery.getQuery("UserItem");

query.include("itemId");

query.getFirstInBackground(new GetCallback<ParseObject>() {
  public void done(ParseObject object, ParseException e) {
    ParseObject item = object.getParseObject("itemId");
    String itemName = item.getString("Item_name");
  }
});

我不使用Android SDK所以这段代码可能不完美 - 请参阅android guide了解更多细节(我从那里解除了所有这些代码)。

编辑:

添加query.whereEqualTo("User_id", "xxxxx");以获取当前用户的User项(将xxxxx替换为用户ID)。

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");
  }
});
© www.soinside.com 2019 - 2024. All rights reserved.