Laravel多对多关系

时间:2017-08-14 09:35:04

标签: laravel

我是laravel的新手..正在开发具有这种结构的Web应用程序:

- 用户(身份证,姓名,电子邮件,电话)
- 学校(身份证,姓名,电子邮件,电话,user_id->'外国')
- 玩家(身份证,姓名,电子邮件,电话,user_id->'外国',school_id->'外国')
- 官员(身份证,姓名,电子邮件,电话,user_id->'外国',school_id->'外国')
- 活动(身份证,姓名,日期,地点,状态' active-archived-canceld',备注)
 
- 用户必须只创建一个有多个球员和官员的学校。

我建立了用户,学校,球员,军官之间的关系......

但问题是
- 学校每次都可以注册不同的球员名单 在活动视图中,我通过复选框显示所有活动,以便学校参加活动。

如何建立学校与学校之间的关系学校可以在活动中注册一次的活动&添加附加玩家的自定义玩家列表? &安培;如何保存这个自定义播放列表?

1 个答案:

答案 0 :(得分:0)

我认为您的数据库结构设计不合理。我会这样做的:

  1. 删除PlayersOfficers表。他们只是具有不同角色的用户!因此,在您的users表中添加type(或更好的选择:Role)列以设置用户类型(例如,为玩家设置1,为官员设置2,为管理员设置3,... )
  2. 使用此结构创建一个团队表作为数据透视表:

    team(id , school_id , user_id)
    
  3. 现在你有团队,你可以指定它适用于哪所学校以及哪些学员在其中。

    1. 添加event_teams表

       events_teams(id , team_id , event_id)
      
    2. 现在可以在这个表格中添加不同学校的不同学校。