1

我想通过不同的实体进行NSPredicate。这是我的核心数据库。NSPredicate over different entities

enter image description here

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

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

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

回答

1

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

​​

,一旦你拥有者数组,然后你可以遍历,并得到对方的姓名。为了得到它

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]; 

一旦你有公司的数组,你可以循环通过它,并获得公司的名称。

+0

对不起,我需要公司的名字而不是人名。 – Steaphann

+0

这是相同的事情,反过来。只需考虑对象而不是表格,行和列就很容易。我编辑了答案。 – Srikanth

+0

Oké但是如果我需要一个人对象,并且不希望从这个人反对公司名称,但公司名称。我应该提出两个单独的提取请求吗? – Steaphann