0

有两个实体 C 和 P 具有多对多关系。我正在尝试获取 C 实体,其中 C 包含至少一个 P,因此包含至少一个 C,其属性 a 具有特定值。

我正在尝试这样的事情:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY p.c.a = %d ", someValue];

然而,这显然不起作用,因为 P 也与 C 有一对多的关系。我需要这样的东西:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY p.ANY(c).a = %d ", someValue];

您将如何以正确的方式编写这样的谓词?

4

1 回答 1

0

如果您想获取与至少一个实体有关系的所有 实体,那么您可以使用CP

NSFetchRequest* request = [[NSFetchRequest alloc] initWithEntityName:@"C"];
NSPredicate * predicate = [NSPredicate predicateWithFormat:@"count(p) != 0"];
request.predicate = predicate;

假设这是从到p的一对多关系。CP

于 2012-08-09T16:55:39.983 回答