[英]How to set OR condition for keys in a query to parse.com in android
我在parse.com
中有一张用户表,其中每个用户都包含字段first_name和last_name 。 我正在搜索用户,无法弄清楚条件OR 。 我的例子:
ParseRelation<ParseUser> relation = user.getRelation("Friends");
ParseQuery<ParseUser> query = relation.getQuery();
query.whereContains("first_name", "typed text"); //need to add OR for the same condition,
//but for the field "last_name"
query.findInBackground(new FindCallback<ParseUser>() {
@Override
public void done(List<ParseUser> objects, ParseException e) {
if(e == null){
//doing work
}else {
e.printStackTrace();
}
}
});
我试图这样做:
query.whereContains("first_name", "typed text").whereContains("last_name", "typed text");
但不,它正在寻找同时满足这两个条件的情况。 whereContainsAll()
方法适用于值list
,但不适用于键。
我可以通过发送2个请求来做到这一点,但这是一个糟糕的解决方案。 有办法吗?
您可以使用ParseQuery.or(queries)这是docs链接: https ://parse.com/docs/android/guide#queries-compound-queries
ParseQuery<ParseObject> query1 = new ParseQuery<ParseObject>("Place");
query1.whereEqualTo("email","xyz@gmail.com");
ParseQuery<ParseObject> query2 = new ParseQuery<ParseObject>("Place");
query2.whereEqualTo("place_mobile",909090XXXX);
List<ParseQuery<ParseObject>> list = new ArrayList<ParseQuery<ParseObject>>();
list.add(query1);
list.add(query2);
ParseQuery<ParseObject> query = ParseQuery.or(list);
query.findInBackground();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.