This question already has an answer here :
Closed 9 years ago .
Please help me make right fetch request.
I want to fetch all Requests where rates.identRater!='someIdent'
I try with predicates:
1
[NSPredicate predicateWithFormat:@"!(ANY rates.identRater == %@)", identRater]
2
[NSPredicate predicateWithFormat:@"NONE rates.identRater == %@", identRater]
3
[NSPredicate predicateWithFormat:@"!(%@ IN rates.identRater)", identRater]
Requests properties
@property (nonatomic, retain) NSString * additionalInfo;
@property (nonatomic, retain) NSNumber * duplicate;
@property (nonatomic, retain) NSDecimalNumber * date;
@property (nonatomic, retain) NSDecimalNumber * dateAccept;
@property (nonatomic, retain) NSDecimalNumber * dateCreate;
@property (nonatomic, retain) NSDecimalNumber * dateChanged;
@property (nonatomic, retain) NSDecimalNumber * dateOfSale;
@property (nonatomic, retain) NSString * fio;
@property (nonatomic, retain) NSString * ident;
@property (nonatomic, retain) NSString * identChanger;
@property (nonatomic, retain) NSString * identOwner;
@property (nonatomic, retain) NSString * identSelectedRate;
@property (nonatomic, retain) NSString * phone;
@property (nonatomic, retain) NSString * status;
@property (nonatomic, retain) Rates *selectedRate;
@property (nonatomic, retain) RequestCar *car;
@property (nonatomic, retain) RequestExterior *exterior;
@property (nonatomic, retain) RequestBundling *bundling;
@property (nonatomic, retain) RequestInterior *interior;
@property (nonatomic, retain) RequestNewCar *theNewCar;
@property (nonatomic, retain) RequestTestdrive *testDrive;
@property (nonatomic, retain) RequestFinalRate *finalRate;
@property (nonatomic, retain) Users *owner;
@property (nonatomic, retain) NSSet *viewedToRate;
@property (nonatomic, retain) NSSet *hiddenToRate;
@property (nonatomic, retain) NSSet *photos;
@property (nonatomic, retain) NSSet *diagnosticPhotos;
@property (nonatomic, retain) NSSet *rates;
Rates properties
@property (nonatomic, retain) NSDecimalNumber * cost;
@property (nonatomic, retain) NSDecimalNumber * costOfSale;
@property (nonatomic, retain) NSString * securityComment;
@property (nonatomic, retain) NSDecimalNumber * dateChanged;
@property (nonatomic, retain) NSString * ident;
@property (nonatomic, retain) NSString * identManager;
@property (nonatomic, retain) NSString * identRater;
@property (nonatomic, retain) NSString * identRequest;
@property (nonatomic, retain) NSDecimalNumber * date;
@property (nonatomic, retain) Requests *request;
@property (nonatomic, retain) Users *rater;
@property (nonatomic, retain) ViewedToRateRequests *viewed;
@property (nonatomic, retain) HiddenToRateRequests *hidden;
@property (nonatomic, retain) Requests *selectedInRequest;
Trying to fetch
NSFetchRequest *fetch = [[NSFetchRequest alloc] init];
[fetch setEntity:[NSEntityDescription entityForName:@"Requests" inManagedObjectContext:moc]];
[fetch setPredicate:[NSPredicate predicateWithFormat:@"!(ANY rates.identRater == %@)", @"someIdent"]];
[fetch setSortDescriptors:@[[[NSSortDescriptor alloc] initWithKey:@"dateChanged" ascending:YES]]];
If I use any of predicate listed above, CoreData return 0 rows.. but I want to see 1 row..
Please, help me..