我的数据模型设置如下:
Entity 1
>> (一对多)>> Entity 2
>> (一对多)>> Entity 3
现在在我的一个视图控制器中,我有一个Entity 2*
属性,它是一个对象。如何访问Entity 3
的特定实例的Entity 2
?我尝试过使用:
fetchRequestWithEntityName:
,但我不希望转储Entity 3
中的每一个,只有属于Entity 3
实例的所有Entity 2
。
非常感谢您的帮助!
〜Carpetfizz
答案 0 :(得分:1)
您可以简单地使用这种关系:
Entity2 *e2 = ... // Your Entity2 object
NSSet *e3s = e2.entity3s;
// or:
NSArray *e3s = [e2.entity3s allObjects];
假设从Entity2
到Entity3
的多对多关系称为“entity3s”。
如果您需要获取请求(例如,对于获取的结果控制器),那么 你只需要添加一个谓词:
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Entity3"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"entity2 = %@", e2];
[request setPredicate:predicate];
假设从Entity3
到Entity2
的逆一对一关系
被称为“entity2”。