2014-01-13 4 views
1

Можно ли добавить 2 «doesNotMatchKey» в один запрос? им пытаются не показывать «предложения», которые сохранены & не показывать объявления, которые удаляютсяparse.com 2 «doesNotMatchKey» в одном запросе

// get query for all deleted offers 
PFQuery *innerQuery = [PFQuery queryWithClassName:P_CLASS_DELETED_OFFERS]; 
[innerQuery whereKey:P_DELETED_OFFER_USER_30X01 equalTo:[PFUser currentUser]]; 

// get query for all saved offers 
PFQuery *innerSavedOfferQuery = [PFQuery queryWithClassName:P_CLASS_SAVED_OFFER]; 
[innerSavedOfferQuery whereKey:P_SAVED_OFFER_USER_29X01 equalTo:[PFUser currentUser]]; 

//main query 
PFQuery *query = [PFQuery queryWithClassName:P_CLASS_OFFER]; 
**[query whereKey:P_OBJECT_ID_CCX98 doesNotMatchKey:P_SAVED_OFFER_OFFER_STRING_ID_29X03  inQuery:innerSavedOfferQuery]; 
[query whereKey:P_OBJECT_ID_CCX98 doesNotMatchKey:P_DELETED_OFFER_OFFER_STRING_ID_30X03 inQuery:innerQuery];** 
[query whereKey:P_OFFER_ITEM_20X02 containedIn:[NSArray arrayWithArray:[DataManager sharedInstance].myWantitArray]]; 
[query orderByAscending:P_OFFER_ITEM_20X02]; 
[query includeKey:P_OFFER_ITEM_20X02]; 
[query includeKey:P_OFFER_USER_20X01]; 

return query; 

я вставить это в PFQueryTableController и получить результаты, который соответствует основному запросу без второго «doesNotMatchKey:» метод, в этот случай - [запрос whereKey: P_OBJECT_ID_CCX98 doesNotMatchKey: P_DELETED_OFFER_OFFER_STRING_ID_30X03 inQuery: innerQuery]; игнорируется.

ответ

-1

Что вы хотите, это метод whereKey:notContainedIn:. Это позволяет вам предоставить массив ключей, которые вы хотите проверить.

+1

спасибо, но для этого метода мне нужно иметь массив, который у меня нет. я не хочу делать это с помощью 2 вызовов для синтаксического анализа - 1. вызвать метод массива 2. «whereKey: notContainedIn:». это слишком медленно. – ozd

+0

@ user3191110 Не могли бы вы создать массив для двух ключей, которые вы используете в настоящее время с помощью 'whereKey: doesNotMatchKey:', тогда вы могли бы использовать один вызов, используя метод, который я предложил –

+0

, как? Я думаю, что мне придется использовать 2 ** whereKey: doesNotMatchKey: ** в этом запросе для меня, чтобы получить их в 1 массив. не так ли? – ozd

Смежные вопросы