Laravel 5,验证和显示用户角色
Laravel 5, authenticating and displaying user roles
我对在 Laravel 内使用数据透视表句号没关系,我的应用程序从未如此复杂。这是我的问题。
我设置了一个新的测试站点,它有 3 个表。
用户
角色
user_role
在用户模型中,我将与角色模型的关系定义为:
public function roles()
{
return $this->belongsToMany('App\Role');
}
好的,我想这应该很容易。首先,对用户进行身份验证很简单
Auth::user();
为了保持这个非常简单,我真正想做的是显示用户拥有的一个或多个角色。如果我把它放在一个视图中:
Aith::user()->roles;
我得到以下结果
[{"id":"7","name":"Administrator","created_at":"2015-03-19 00:14:53","updated_at":"2015-03-19 00:14:53","pivot":{"user_id":"1","role_id":"7"}}]
现在说的很对,但是我需要在这里听起来完全愚蠢。我如何才能得到 return 角色名称?
我只是想让它显示而不是上面的结果:
Administrator
仅此而已。
要么这样获取第一条记录
Auth::user()->roles->first()->name
或使用循环
@foreach(Auth::user()->roles as $role)
{{ $role->name }}
@endforeach
我对在 Laravel 内使用数据透视表句号没关系,我的应用程序从未如此复杂。这是我的问题。
我设置了一个新的测试站点,它有 3 个表。
用户
角色
user_role
在用户模型中,我将与角色模型的关系定义为:
public function roles()
{
return $this->belongsToMany('App\Role');
}
好的,我想这应该很容易。首先,对用户进行身份验证很简单
Auth::user();
为了保持这个非常简单,我真正想做的是显示用户拥有的一个或多个角色。如果我把它放在一个视图中:
Aith::user()->roles;
我得到以下结果
[{"id":"7","name":"Administrator","created_at":"2015-03-19 00:14:53","updated_at":"2015-03-19 00:14:53","pivot":{"user_id":"1","role_id":"7"}}]
现在说的很对,但是我需要在这里听起来完全愚蠢。我如何才能得到 return 角色名称?
我只是想让它显示而不是上面的结果:
Administrator
仅此而已。
要么这样获取第一条记录
Auth::user()->roles->first()->name
或使用循环
@foreach(Auth::user()->roles as $role)
{{ $role->name }}
@endforeach