【发布时间】:2012-03-08 09:50:38
【问题描述】:
我在游戏和玩家之间建立了一对多的关系。游戏与玩家之间存在一种称为玩家的关系。
游戏 > 玩家
Games 实体有一个称为玩家的关系。 玩家有一个名为“订单”的属性
我无法使用谓词来查询关系。这是我正在使用的代码:
-(NSArray *)returnPlayerLastAtBat: (int)rosterNo
{
NSError *error;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"Games" inManagedObjectContext:managedObjectContext];
NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"(finished = '%d') and (players.order = '%d')",0,rosterNo];
[fetchRequest setEntity:entity];
[fetchRequest setPredicate:predicate];
NSArray* result = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
[fetchRequest release];
return result;
}
不知道我做错了什么——我可以在整个项目中使用谓词——但是这个已经卡住了。
【问题讨论】:
-
我认为你不需要谓词格式的引号。不确定它是否会破坏谓词,但值得一试。
-
仅供参考,表名按惯例是单数(即游戏和玩家)
-
引号是为了美观——它们不会影响代码。
标签: objective-c nspredicate one-to-many relationships