我将使用 USER -> TASK (1-user-can-have-many-tasks) 作为示例来解释我的问题。
在领域中,我可以定义用户实体,其中包括相关任务的列表。
但是,在查询所有用户时,我还想作为用户列表的一部分读取每个用户的一组属性,这些属性是该用户任务的等效属性的摘要。
例如,我想读取所有用户,并且对于每个用户,如果有任何链接任务未完成,则报告“未完成”。如果该用户的任何任务有附件,则为该用户报告“有附件”。
在带有 SQLLite 的普通 SQL 中,我可以使用 groupby 构造并在我的结果集中派生列来实现这种效果,这些列是真实列的摘要。
我怎样才能在 Realm 中完成同样的工作。任何帮助表示赞赏。
示例实体:
User
{
String userId
String name
List<Task> tasks
**--> oustanding** (need to derive if any of the tasks in the task list is outstanding)
**--> hasAttachments** (if any of the tasks in the task list has
attachments)
}
Task
{
String taskId
boolean outstanding
boolean hasAttachments
}
注意:用户实体上的未完成和 hasAttachments 不是必需的定义字段。如果有这样的事情,我只需要在运行时、查询或动态字段中派生它们