所以我有以下域名:
到目前为止,我最终得到了以下模型:
Application
实体,由名称,操作系统和类型Version
值对象,基本上包装版本信息(主要,次要等)Release
entity,是一个引用Application实体并嵌入Version值对象的组合对象Device
实体,由序列号NotitificationSubscription
实体(允许我按属性查询)现在我想知道如何“关联”Device
实体,Release
和NotificationSubscription
,因为它应该与{已安装的“Release
相关联{ {1}}并包含一些额外信息(如身份验证令牌)。
鉴于我的ORM(Doctrine2)和RDMS(MySQL)我坚持如何找到一个好的设计。
想象一下以下工作流程:
Device
实体
Device
Release
是否已经与之关联,如果不是,我会创建一个关联Device
我的问题是我的间接很多。
为了允许我为关联设置额外的数据,我创建了一个关联类,它本身就是一个引用设备和版本的实体。
设备可能在其上安装并运行了不同的版本,因此,例如,我不知道如何查询以下信息:“获取当前版本的当前版本的所有通知订阅”
我显然在Repository NotificationSubscription
中添加了一个方法,这意味着我可以通过使用存储库和图findSubscriptionsByDeviceAndRelease($device, $release);
有什么想法吗?
答案 0 :(得分:0)
保持简单:这里不需要域模型,只需要一个良好的实体关系模型。你可能也不需要Doctrine,因为sql查询应该足够简单。