Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何访问Laravel中三向枢轴上的其他字段?_Laravel - Fatal编程技术网

如何访问Laravel中三向枢轴上的其他字段?

如何访问Laravel中三向枢轴上的其他字段?,laravel,Laravel,以下是我的体系结构的外观: 其思想是,用户在给定的组中有一个角色。当然,用户属于许多组,并且一个用户可以有多个角色(在不同的组中) 我正在尝试获取用户所属的所有组 请原谅我没有使用约定将数据透视表命名为组\角色\用户,我决定采用这种方式以提高可读性 因此,在用户模型中,我说: public function groups() { return $this->belongsToMany('\App\Group', 'roles_in_groups'); } 我认为: @foreach

以下是我的体系结构的外观:

其思想是,用户在给定的组中有一个角色。当然,用户属于许多组,并且一个用户可以有多个角色(在不同的组中)

我正在尝试获取用户所属的所有组

请原谅我没有使用约定将数据透视表命名为组\角色\用户,我决定采用这种方式以提高可读性

因此,在用户模型中,我说:

public function groups() {
  return $this->belongsToMany('\App\Group', 'roles_in_groups');
}
我认为:

@foreach ($user->groups as $group)
  {{ $group->name }}
@endforeach
工作完美

现在我想访问
角色
表。我想在{{{$group->name}中打印这样的内容:
,你是{{{$group->role->name}
,显然,它不是这样工作的

如果我使用
pivot
属性,它将只提供
用户id
组id
,甚至不提供
角色id
,以使用静态方法进行搜索

那么,我如何才能做到这一点呢

我正在使用Laravel 5.7

也许可以尝试:

public function roles() {
  return $this->belongsToMany('\App\Role', 'roles_in_groups');
}

$user = \User::with(['roles','groups'])->first();
$role_name = $user->role->name  
$group_name = $user->group->name  

您的团队模式是什么样的?它有角色关系吗是的,它有。它被称为角色。
return$this->belongtomany('App\Role','Role\u in_group')
但是如果我调用
$group->roles
它会返回一个集合(该组的所有角色),所以我不能调用
$group->roles->role\u id
是的,它不会,因为它有很多角色,你必须循环角色,同时打印每个角色名,但这不是我想要的。我想获得该特定组中用户的rol名称有趣!我试试看。现在,我正在用用户模型中的另一个函数来解决这个问题,但我认为它可以只用ORM来完成。我试试你的代码