我对使用透视表非常陌生,更不用说在Laravel中了,我的应用程序从来没有太复杂过。这是我的问题。
我已经设置了一个新的测试站点,它有3张表。
用户
角色
用户角色
在用户模型中,我将与角色模型的关系定义为:
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"}}]
现在这是正确的,但我需要在这里听起来完全愚蠢。如何让它返回角色名称?
而不是上面的结果,我只是想让它显示:
Administrator
没什么了。
这其中之一可以获得第一条记录
Auth::user()->roles->first()->name
或者使用环路
@foreach(Auth::user()->roles as $role)
{{ $role->name }}
@endforeach