如何使用 ParseQuery 对同一数据库列进行 OR 查询?
How can I do an OR query for the same database column using ParseQuery?
我的查询有几个约束条件:
ParseQuery < ParseObject > requestsQuery = ParseQuery.getQuery(ParseConstantsUtil.CLASS_REQUEST);
requestsQuery.whereContains(ParseConstantsUtil.REQUEST_AUTHOR, currentUser.getObjectId());
requestsQuery.whereEqualTo(ParseConstantsUtil.REQUEST_STATUS, "Approved");
requestsQuery.whereEqualTo(ParseConstantsUtil.REQUEST_STATUS, "Rejected");
requestsQuery.whereEqualTo(ParseConstantsUtil.REQUEST_READ, false);
try {
List < ParseObject > requestsList = requestsQuery.find();
return listSize(model, requestsList);
} catch (ParseException e) {
e.printStackTrace();
}
其中一个约束恰好与我数据库中的同一列相关:
requestsQuery.whereEqualTo(ParseConstantsUtil.REQUEST_STATUS, "Approved");
requestsQuery.whereEqualTo(ParseConstantsUtil.REQUEST_STATUS, "Rejected");
以上好像不行。如何使用 ParseQuery 对同一数据库列执行 OR 查询?
requestsQuery.whereEqualTo(ParseConstantsUtil.REQUEST_STATUS, "Rejected" || "Approved");
使用ParseQuery#whereContainedIn
:
List<String> vals = new ArrayList<>();
vals.add("Rejected");
vals.add("Approved");
requestsQuery.whereContainedIn((ParseConstantsUtil.REQUEST_STATUS, vals);
有关详细信息,请参阅 api documentation。
我的查询有几个约束条件:
ParseQuery < ParseObject > requestsQuery = ParseQuery.getQuery(ParseConstantsUtil.CLASS_REQUEST);
requestsQuery.whereContains(ParseConstantsUtil.REQUEST_AUTHOR, currentUser.getObjectId());
requestsQuery.whereEqualTo(ParseConstantsUtil.REQUEST_STATUS, "Approved");
requestsQuery.whereEqualTo(ParseConstantsUtil.REQUEST_STATUS, "Rejected");
requestsQuery.whereEqualTo(ParseConstantsUtil.REQUEST_READ, false);
try {
List < ParseObject > requestsList = requestsQuery.find();
return listSize(model, requestsList);
} catch (ParseException e) {
e.printStackTrace();
}
其中一个约束恰好与我数据库中的同一列相关:
requestsQuery.whereEqualTo(ParseConstantsUtil.REQUEST_STATUS, "Approved");
requestsQuery.whereEqualTo(ParseConstantsUtil.REQUEST_STATUS, "Rejected");
以上好像不行。如何使用 ParseQuery 对同一数据库列执行 OR 查询?
requestsQuery.whereEqualTo(ParseConstantsUtil.REQUEST_STATUS, "Rejected" || "Approved");
使用ParseQuery#whereContainedIn
:
List<String> vals = new ArrayList<>();
vals.add("Rejected");
vals.add("Approved");
requestsQuery.whereContainedIn((ParseConstantsUtil.REQUEST_STATUS, vals);
有关详细信息,请参阅 api documentation。