我有以下实体:
Student
NSString name
Team inTeam // reverse of Team.students
Team
NSSet assignments
NSOrderedSet students // reverse relationship of Student.inTeam
Assignment
NSDate date // timeless date, only care about the day
NSNumber assignmentCount
Team inTeam // reverse of Team.assignmets
并非所有学生都是团队的一部分。并非所有团队都有作业。团队通常由 2 名学生(不超过 3 名)组成。
对于所有团队,我需要显示其成员的姓名和给定日期的 assignmentCount。
我可以想到不同的方法来做到这一点,其中 3 种:
获取给定日期的每个团队查询分配的所有团队。这效率不高(但几乎就像我在一个以 assignmentCount 作为故障对象的查询中获取所有内容一样?)
保留所有团队的集合,并保留具有给定日期的所有作业的集合。只有两个查询,但需要保持第二个集合与数据库同步(assignmentCount 会改变,宁愿不这样做)
每次 assignmentCount 更改时重新加载数据。显然不是一个好的解决方案
有没有办法在一个查询中获取所有这些信息?
我看到的一个问题是,如果我将谓词设置为具有类似的东西,ANY team.assignments.date = %@
它只会返回有分配的团队。
有任何想法吗?