首页 > 解决方案 > 如何在 laravel 中使用数据透视表中的 3 个关系创建关系?

问题描述

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

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

但我不明白如何将它与 laravel 关系一起使用?

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

标签: phplaravelrelational-databaserelationship

解决方案


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

$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();

推荐阅读