我即将在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数据透视表。但是,如何将其与特定于组+用户的角色相关联?我应该使用某种三向数据透视表,还是可以采用其他方式设计不同的表设置?
答案 0 :(得分:0)
您需要一个membership
表格,如
Membership:
- membership_id
- user_id
- group_id
角色表:
Roles:
- membership_id
- role_id