2015-12-18 2 views
0

Я пытаюсь ИЛИ два условия для двух разных полей таблицы. в то время как индивидуальное условие работает нормально, но когда я пытаюсь использовать его и то и другое, оно не работает. Вот мой код:Невозможно ИЛИ ИЛИ условие в вопросе Parse

ParseQuery<NewExamAlert> query = ABC.getQuery(); 
query.whereContainedIn("category", Arrays.asList(arr)); //here arr is array of different category 
query.whereContainedIn("subCategory", Arrays.asList(arr1));//here arr1 is array of different subcategory 
query.findInBackground(new FindCallback<ABC>() { 
      public void done(List<ABC> list, ParseException exp) { 
       //My Logic 
      } 
} 

Пожалуйста, дайте мне знать, что мне не хватает?

+0

'ParseObject', из которого' ParseQuery' опускается, имеет или() '' метод, который принимает список ParseQueries и возвращает ' OR' запросов. Вы пробовали это? – alzee

ответ

2

Вам нужно явно "или" их:

List<ParseQuery<NewExamAlert>> queries = new ArrayList<ParseQuery<NewExamAlert>>(); 
queries.add(ParseQuery<NewExamAlert> query1 = ABC.getQuery() 
       .whereContainedIn("category", Arrays.asList(arr))); 
queries.add(ParseQuery<NewExamAlert> query2 = ABC.getQuery() 
       .whereContainedIn("subCategory", Arrays.asList(arr1))); 

ParseQuery<NewExamAlert> orQuery = ParseQuery.or(queries); 

orQuery.findInBackground(new FindCallback<ABC>() { 
      public void done(List<ABC> list, ParseException exp) { 
       //Your Logic 
      } 
} 
Смежные вопросы