Database design 政党管理应用程序。如何处理私人聚会?

Database design 政党管理应用程序。如何处理私人聚会?,database-design,cakephp,cakephp-1.3,relational-database,Database Design,Cakephp,Cakephp 1.3,Relational Database,我正在写一个管理派对的应用程序。我有一些基本的表格: 用户:已注册使用该应用程序的用户 组:用户可以属于多个组。例如:{家人、朋友} 用户\组:用户所属的组 参与方:已创建的不同参与方 用户\参与方:加入表(哪些用户将加入哪些参与方) 我现在想实现私人聚会的概念。应仅允许邀请列表上的用户查看和注册此私人参与方。我希望能够邀请每个用户或/或以小组为基础的用户参加此聚会 执行以下操作似乎不是一个好的解决方案: 1) 向PARTIES添加一个名为private的字段。这将是1或0。 2) 创建名为“组

我正在写一个管理派对的应用程序。我有一些基本的表格:

用户:已注册使用该应用程序的用户
组:用户可以属于多个组。例如:{家人、朋友}
用户\组:用户所属的组
参与方:已创建的不同参与方
用户\参与方:加入表(哪些用户将加入哪些参与方)

我现在想实现私人聚会的概念。应仅允许邀请列表上的用户查看和注册此私人参与方。我希望能够邀请每个用户或/或以小组为基础的用户参加此聚会

执行以下操作似乎不是一个好的解决方案:
1) 向PARTIES添加一个名为private的字段。这将是1或0。
2) 创建名为“组邀请”的新表。这将用于指定邀请哪些团体参加活动
3) 创建一个名为“用户邀请”的新表。这将用于指定邀请哪些用户参加活动


以上是合理的解决方案吗?有没有更好的方法来解决这个问题?作为旁注,CakePHP有一个ACL(访问控制列表)的概念,但这只允许用户成为1个组的一部分。这似乎与限制对MCP应用程序的某些操作的访问是一个单独的问题。我确实计划使用ACL来实现这一点,但在这种情况下,用户将只属于一个角色,这将决定他们在web应用程序中可以访问哪些功能。

好吧,我认为您的方向是正确的

肯定是一个布尔字段(一个标志)
private
,用于模型

我不会创建一个
groups\u邀请
表。相反,当一个组被邀请时——为属于该组的每个用户创建一个邀请。我觉得那样比较容易

至于
用户\u邀请
表。。。也许可以尝试将其包含在
用户\参与者
表中(如果您想严格遵守Cake的约定,它实际上应该是
参与者\用户
)。比如:

id
party_id
user_id
coming (boolean)
当用户被邀请参加私人聚会时,您可以在他和聚会之间创建一个链接(记录),由他将
coming
更改为true。对于公共参与方-用户在声明到达时创建链接(记录)(将
coming
设置为true)。有关添加(和删除)HABTM记录的信息,请参阅


嗯,花点时间考虑一下——也许在加入表中加入邀请不是最好的主意——我想这太复杂了。期待对此发表一些评论,因为我被撕裂了。

用户或组代表有什么计划来确定自己的身份?他们会输入一些密码吗?两者似乎都有各自的优点。一方面,将信息包含在用户方中可以让我坚持严格的cakePHP命名转换。它还减少了对另一个表的需要。但它确实引入了一些额外的复杂性。作为公共聚会的副作用,不参加的用户永远不会被添加到表中。对于私人聚会,不参加的用户仍在表中,但coming=false。使用用户邀请表将迫使我打破蛋糕约定,因为约定名称已在使用中。不过,这似乎更简单。我想我先试试。