Laravel用户将根据项目模型具有不同的角色

Laravel用户将根据项目模型具有不同的角色,laravel,Laravel,通过使用laravel关系,我有了模型名项目和用户。 -使用多对多关系的项目和用户。 我想要的是使用laravel身份验证,根据项目为用户提供角色。 这意味着: 用户Ali在项目a中具有管理员角色, 但在项目b中,用户Ali角色是成员。 我如何实现它 问题已修复: 我的解决方案是将附加数据作为字符串角色添加到project_用户透视表存储中。 创建新项目并添加其他数据时,请使用: $user->projects()->save($project, ['role' => 'Man

通过使用laravel关系,我有了模型名项目和用户。 -使用多对多关系的项目和用户。 我想要的是使用laravel身份验证,根据项目为用户提供角色。 这意味着: 用户Ali在项目a中具有管理员角色, 但在项目b中,用户Ali角色是成员。 我如何实现它

问题已修复:

我的解决方案是将附加数据作为字符串角色添加到project_用户透视表存储中。 创建新项目并添加其他数据时,请使用:

$user->projects()->save($project, ['role' => 'Manager']);
需要呼叫时:

$user_role = $user->projects()->where('user_id', $user['id'])->first()->pivot->role;
它将返回字符串“Manager” 并使用它来分配角色

$user->syncRoles($user_role);

请看以下链接,它们将帮助您实现这一目标

您可以添加角色数据,例如使用单独的角色表添加角色id,或仅将项目中的角色添加到用户透视表项目用户,并从该关系中检索角色信息


查看Laravel文档的“在数据透视表上保存附加数据”部分。

示例无法正常运行,因此我不确定它是否能解决我的问题。