尝试通过将用户表中的role_id和角色表中的user_id链接到用户表来了解如何从角色表中获取角色名称。
下面是我所得到的,我已经完成了几个命名错误。
我该如何开展这项工作?
Works:输出'4'
{{ Auth::user()->role_id }}
不:不输出任何内容
{{ Auth::user()->role['name'] }}
错误:尝试获取非对象的属性(查看:
{{ Auth::user()->role->name }}
关系:
User model:
public function roles()
{
return $this->hasOne('App\Role');
}
Role model:
public function roles()
{
return $this->belongsToMany('App\User');
}
完整角色类:
<?php
namespace Laravel;
use Illuminate\Database\Eloquent\Model;
class Role extends Model
{
//
protected $fillable = [
'name',
];
public function users()
{
return $this->belongsToMany('App\User');
}
}
答案 0 :(得分:0)
可能应该是这个
用户模型:
public function role()
{
return $this->hasOne('App\Role');
}
角色模型:
public function users()
{
return $this->belongsToMany('App\User');
}
然后
{{ Auth::user()->role->name }}