【问题标题】:How to create relations in laravel with 3 relations in the pivot table?如何在 laravel 中使用数据透视表中的 3 个关系创建关系?
【发布时间】:2019-03-24 21:20:20
【问题描述】:

我在数据库架构中有以下表格:

  • 用户(ID、姓名、姓氏)
  • 团队(ID、名称)
  • 角色(ID、姓名)
  • 权限(ID、姓名)
  • team_role_permission(team_id、role_id、permission_id)
  • team_user (user_id, team_id, role_id)

我的目标是描述团队、角色和权限模型之间的关系。我阅读了 Laravel 文档,无法使用具有 3 个关系的数据透视表。实际上,我只会使用 3 个关系:

  • 玩家在哪些球队以及他在每支球队中的角色(User/Player 模型中的方法 teams
  • 球队中有哪些球员,他们的角色是什么(Team 模型中的方法players

但是我不明白如何在 laravel 关系中使用它?

team_role_permission 和它的关系必须是,因为团队创建者应该能够手动编辑他的(每个)团队的权限。

【问题讨论】:

    标签: php laravel relational-database relationship


    【解决方案1】:

    可能的解决方案是手动存储在您的数据透视表中。 你应该为你的数据透视表创建一个模型。

    $team = Team::create();
    $role = Role::create();
    $permission = Permission::create();
    
    $pivot = new TeamRolePermission();
    $pivot['team_id'] = $team->id;
    $pivot['role_id'] = $role->id;
    $pivot['permission_id'] = $permission->id;
    $pivot->save();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-22
      • 2014-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-29
      • 2014-09-16
      • 2014-08-26
      相关资源
      最近更新 更多