我有这个to-many关系,其中至少包含一个元素:
Appointment <<------>> Invitee
appointment.invitees
是有序关系,产生NSOrderedSet
。
在由获取的结果控制器控制的表视图中,我列出了约会,以及被邀请者集的第一个元素。
现在,我希望使用NSPredicate
按受邀者的姓名搜索此列表。但是如何在谓词中引用有序列表的第一个元素?
我试过了:
fetchRequest.predicate = [NSPredicate predicateWithFormat:
@"invitees[FIRST].lastName CONTAINS[cd] %@", searchTerm];
但我收到unimplemented SQL generation for predicate
错误。这是有道理的,因为结果是一个集合,但不是严格的数组。不过,我认为sqlite商店必须对订单进行建模,因此它应该是可检索的。
有什么建议吗?
答案 0 :(得分:1)
显然,这个问题甚至连最专业的核心数据学者都无法回答。
解决方法是将第一个元素建模为单独的一对一关系,将其余元素建模为基于相同相关实体的可选多对多关系。
Appointment <<------> mainInvitee (Invitee)
<<------>> additionalInvitees (Invitee)