Mám medzi mnohými vzťahmi medzi tabuľkami a vyplňujem tabuľku View with Activities. Pre tohto používateľa i jednoduchý NSPredicate, ako je tento:
request.predicate = [NSPredicate predicateWithFormat:@"deleted == %@", [NSNumber numberWithBool:NO]];
Ako môžem ukázať iba tie aktivity, ku ktorým sú pripojení poslanci?
Myslím si, že v NSPredikáte musím urobiť nejaký počet, aby sa vrátili iba aktivity s počtom> 0. Je to tak? Ako?
(som nováčik v coredata ...)
Vďaka,
RL
odpovede:
3 pre odpoveď č. 1Do svojho predikátu pôsobiaceho na entitu CompanyActivity musíte pridať poddotaz nasledovne:
[[NSPredicate predicateWithFormat:@"deleted == %@" && (0 >= SUBQUERY(Members, $sub, $sub.deleted == %@).@count)", [NSNumber numberWithBool:NO] [NSNumber numberWithBool:NO]];
Prvá časť predikátu vracia objektyktoré neboli vymazané, druhá časť týkajúca sa poddotazu sa postará o získanie všetkých tých objektov CompanyActivity, ktorých členovia neboli vymazaní.