如何使用 Auth::user()->id 从其他表获取数据

Aam*_*hir 2 laravel laravel-5.3

我有两个表:RoleUser

用户

id
name
email
password
Roleid
Run Code Online (Sandbox Code Playgroud)

角色

id 
name
Run Code Online (Sandbox Code Playgroud)

我想要的是获取Role当前登录的名称User。就像是Auth::user()->role()->name;

Kat*_*u22 5

根据您定义的角色和用户表之间的正确关系,您应该执行以下操作:

$user = auth()->user();
$role = $user->role->name // Name of relation function in user model and gather all role data
Run Code Online (Sandbox Code Playgroud)

如果您没有定义用户和角色之间的正确关系,您必须执行以下操作:

在 users 表中定义一个名为:role_id 的列

并在用户模型中执行以下操作:

public function role() {
        return $this->belongsTo(Role::class, 'role_id');
    }
Run Code Online (Sandbox Code Playgroud)

在角色模型中:

public function users() {
            return $this->HasMany(User::class);
        }
Run Code Online (Sandbox Code Playgroud)