与另一个表的关系中的Laravel关系
我有用户表、用户角色表和角色表 我的用户角色表:与另一个表的关系中的Laravel关系,laravel,Laravel,我有用户表、用户角色表和角色表 我的用户角色表: id, role_id, user_id id, name, description, created_at, updated_at 我的角色表: id, role_id, user_id id, name, description, created_at, updated_at 我的用户表: id, first_name, last_name, user_name, avatar, account_status, email, pass
id, role_id, user_id
id, name, description, created_at, updated_at
我的角色表:
id, role_id, user_id
id, name, description, created_at, updated_at
我的用户表:
id, first_name, last_name, user_name, avatar, account_status, email, password, remember_token, created_at, updated_at, deleted_at
现在,我试图让登录用户的角色包括角色描述,但似乎无法让它工作
在我的用户模型中,我有:
public function roles()
{
return $this->hasOne(User_roles::class, 'role_id', 'id');
}
这给了我用户角色,但没有描述。我尝试了belongtomany
,但这给了我角色
值,并以用户角色
表值为轴心。我可以反过来做吗?这样我就可以得到用户角色表的值,而pivot将是角色表的描述
目前属于婚姻关系:
public function roles()
{
return $this->belongsToMany(Roles::class, 'user_roles', 'id', 'id');
}
改用hasManyThrough
关系:
通过这种方式,您可以指定中间用户角色
表您应该尝试以下解决方案
在用户模型中
public function roles()
{
return $this->belongsToMany(Role::class, 'user_roles');
}
在控制器中
$user = User::find($user_id);
$roles = $user->roles;
在用户模型中
public function roles()
{
return $this->belongsToMany('App\Role', 'role_user', 'user_id', 'role_id');
}
检查我的答案。