0

我即将在 Laravel (4) 中编写一个小游戏社区的代码,并且在弄清楚如何设置数据库表时遇到了一些麻烦。这是它应该如何工作的:

Users table:
John
Lisa
Stewie

Groups table:
Team red
Team blue
Team green

Roles table:
Superadmin
Admin
Moderator
Demigod

Permissions table: (describing what permissions each role has)
Superadmin (Total control of everything, will only be me and maybe a buddy with this role.)
Admin (create delete edit forums etc + everything a moderator does)
Moderator (delete forum posts, ban users)
Demigod (some other permissions)

一个用户,比如 Stewie,可以在一个或多个团队中。但他在每支球队中扮演着不同的角色。Stewie - 红队 - 管理员 Stewie - 蓝队 - 版主 + 半神

我想知道如何以一种聪明的方式进行设置?首先想到的是 user_group 数据透视表。但是我如何将其与特定于组 + 用户的角色联系起来?我应该做某种三向数据透视表,还是可以用其他方式设计一个不同的表格设置?

4

1 回答 1

0

你需要一张membership

Membership:
- membership_id
- user_id
- group_id

还有一个角色表:

Roles:
- membership_id
- role_id
于 2013-03-31T20:33:44.143 回答