Domanda

I have 2 tables which are linked between themselves with many-to-many relationship.

SQL equivalent doesn't exist because it requires the third table to split a many-to-many relationship to two one-to-many relationships.

For example, I have two core data entities: category with a property (an array of items) and item with a property (an array of categories).

I need to get all the categories except of "empty" categories (when there is no item of this category).

My current temporary solution looks like an incorrect one. I use NSFetchRequest to get all the categories. Then I delete from this array all the categories with an empty item array manually using for-each.

È stato utile?

Soluzione 2

My solution:

[NSPredicate predicateWithFormat:@"ANY items != nil"]

Altri suggerimenti

In order to get all categories except the empty ones you could just use a predicate like this:

NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Category"];    
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"items.@count > 0"];
NSArray *categories = [context executeFetchRequest:fetchRequest error:NULL];
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top