2015-11-12 2 views
1

Мне нужно написать запрос, который вернет всех пользователей, имена которых существуют в предоставленном массиве.Проанализируйте запрос в одном строковом поле, где значение соответствует любой строке, предоставленной в массиве

Я знаю, что вы можете использовать [query whereKey:@"arrayColumn" equalTo: @"singleValue"], чтобы возвращать результаты, когда в массиве существует одно значение, но я ищу точное противоположное - возвращают результаты, когда любые элементы в массиве равны значению предоставленного ключа. Удивительно, но я не видел этого в документации и не использовал ни один из параметров whereKey.

Вот что я пытался, но это, конечно, происходит сбой с ошибкой: Cannot do a comparison query for type: __NSArrayI

PFQuery *q = [PFUser query]; 
[q whereKey:@"username" equalTo:@[@"username1", @"username2"]]; 
NSArray *a = [q findObjects]; 
//I need a to contain users with usernames 'username1' and 'username2' 

ответ

2

Найдено ответ. Это действительно очень просто, я переусердствовал.

Использование containedIn.

PFQuery *q = [PFUser query]; 
[q whereKey:@"username" containedIn:@[@"username1", @"username2"]]; 
NSArray *a = [q findObjects]; 
Смежные вопросы