我在数据库中有三个表。一个是用户,第二个是角色,另一个是user_role。
角色表中的具有id和name。
user_role表中的具有user_id和roll_id。
现在我想在用户登录app时设置会话。 llike Auth :: user() - > roll
答案 0 :(得分:0)
在用户模型中创建关系
public function roles()
{
return $this->belongsToMany(Role::class);
}
在角色模型中创建关系
public function users()
{
return $this->belongsToMany(User::class);
}
然后,您可以将角色附加到这样的用户:
Auth::user()->roles()->attach(id_of_the_role_from_roles_table);
这将在数据透视表role_user中创建一个新条目,然后您可以在用户模型中创建一个函数
public function hasRole($role)
{
return $this->roles->contains('id', $role);
}
您可以在代码中的任何位置调用它。例如:
Auth::user()->hasRole(1);
这将返回true或false,然后您可以使用该信息执行某些操作。