2014-01-13 13 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