1

我想在不同的实体上制作 NSPredicate 。这是我的核心数据库。

在此处输入图像描述

为了简单起见,这是我应该做的查询。

Select c.c_name From Company c, Person p Where c.c_id = p.cu_company_id

现在我想知道如果我想达到上面查询的结果,我的谓词应该是什么样子。

4

1 回答 1

1

假设 c_id 和 cu_company_id 是整数,你可以试试

    NSFetchRequest *fr = [[NSFetchRequest alloc] initWithEntityName:@"Person"];
    NSError *error;
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"cu_company_id == data.company.c_id"];
    [fr setPredicate:predicate];
    NSArray *persons = [self.managedObjectContext executeFetchRequest:fr error:&error];

一旦你有了 people 数组,你就可以遍历它并获取这个人的名字。反其道而行之

    NSFetchRequest *fr = [[NSFetchRequest alloc] initWithEntityName:@"Company"];
    NSError *error;
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"c_id == data.person.cu_company_id"];
    [fr setPredicate:predicate];
    NSArray *companies = [self.managedObjectContext executeFetchRequest:fr error:&error];

一旦你有了公司数组,你就可以遍历它并获得公司的名称。

于 2013-01-10T16:15:14.767 回答