我试图通过查询从我的数据库中获取一些数据,但我似乎无法弄清楚如何。
我的数据库如下所示:
_user
| objectId |用户名|密码|组(relation(group_name))| .. |
组
| objectId | group_name | .. |
活动
| objectId | activity_name |组(指针(objectId))| .. |
我的目标是显示当前用户(已登录)链接到的所有活动。因此,用户可以成为组(关系)的一部分,并且组可以具有多个活动。活动有一个指向Group.objectId的指针。如何显示当前用户所属的组的活动?
目前这是我的代码:
ParseObject current = ParseUser.getCurrentUser();
ParseRelation relation = current.getRelation("groups");
ParseQuery query = relation.getQuery();
ParseObject test = new ParseObject("group");
String ObjectId = test.getObjectId();
ParseQuery<ParseObject> query2 = new ParseQuery<ParseObject>("Activity");
query2.whereEqualTo("group_name", ObjectId);
...
@Override
protected void onPostExecute(Void result) {
// Locate the listview in listview_main.xml
listview = (ListView) findViewById(R.id.listview);
// Pass the results into an ArrayAdapter
adapter = new ArrayAdapter<String>(MainActivity.this, R.layout.activity_main_listview_item);
// Retrieve object "name" from Parse.com database
for (ParseObject query : ob) {
adapter.add((String) query.get("activity_name"));
}
答案在Parse指南中:
答案 0 :(得分:0)
不确定您是否可以通过2次查询执行以下操作...
获取currentUser的一组组作为queryResult $ myGroupQ 用户所属的组
使用&#34; query.include(&#34; groups&#34;)
查询2查询2是带条件的查询。活动:
query.whereContainedIn("groups", $myGroup);
只要var myGroup是ofType = Array,这应该可行。
所以使用qry1中的$ myGroup作为查询#2中的约束setOfValues&#34; containsIn&#34;
来自查询约束
的Android文档部分答案 1 :(得分:-1)
答案在Parse指南中: