我在 Parse.com 文档中遇到了这个架构问题。我有以下“模式”,称为 Debit :
"createdAt": "2014-12-12T02:31:06.026Z",
"creator": {
"__type": "Pointer",
"className": "_User",
"objectId": "objectId"
},
"date": {
"__type": "Date",
"iso": "2014-12-12T02:31:14.437Z"
},
"debitStatus": 0,
"description": "Gdfvgg",
"from": {
"__type": "Pointer",
"className": "_User",
"objectId": "Sd9B1XyZVL"
},
"has_accepted": false,
"objectId": "objectId",
"to": {
"__type": "Pointer",
"className": "_User",
"objectId": "objectId"
},
"updatedAt": "2014-12-12T06:00:46.528Z",
"value": "6.48"
from 和 to “列”是指向_User
表的指针。问题是,在我的 Android 应用程序中,我想根据登录用户显示from
和to
借记,但在我的适配器上只显示“未登录用户”用户。
我尝试or
在 Parse 上进行查询以获取所有借方查询,但我无法包含 User 指针,因为or
查询 Parse 不支持。
像这样:
ParseQuery<ParseObject> query1 = new ParseQuery<ParseObject>("UserBalance");
query1.whereEqualTo("user_from", ParseUser.getCurrentUser());
ParseQuery<ParseObject> query2 = new ParseQuery<ParseObject>("UserBalance");
query2.whereEqualTo("user_to", ParseUser.getCurrentUser());
ParseQuery<ParseObject> query = ParseQuery.or(Arrays.asList(query1, query2));
但问题是在显示“不是我”适配器时:
适配器:
ParseUser user = null;
ParseUser user1 = (ParseUser) object.get("user_to");
if (user1 == ParseUser.getCurrentUser())
user = (ParseUser) object.get("user_from");
else
user = user1;
当然我需要获取用户,这在适配器中不是一个好主意。那么,数据库方面是否有更好的方法来改进这一点?
谢谢