Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与另一个表的关系中的Laravel关系_Laravel - Fatal编程技术网

与另一个表的关系中的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');
}

检查我的答案。