Php 将(用户、角色、用户\角色)SQL原始查询转换为Laravel中的雄辩
尊敬的先生,我必须从user_role pivot表中获取用户角色名称 我使用Sql原始查询成功地完成了这项工作。但我必须使用雄辩的。 请将下面的原始sql代码转换成雄辩的,请帮助我 先生,我是新来的Php 将(用户、角色、用户\角色)SQL原始查询转换为Laravel中的雄辩,php,laravel,eloquent,Php,Laravel,Eloquent,尊敬的先生,我必须从user_role pivot表中获取用户角色名称 我使用Sql原始查询成功地完成了这项工作。但我必须使用雄辩的。 请将下面的原始sql代码转换成雄辩的,请帮助我 先生,我是新来的 $role = DB::table('users') ->join('user_roles', 'users.id', '=', 'user_roles.user_id') ->join('roles', 'roles.id', '=', 'user_roles.ro
$role = DB::table('users')
->join('user_roles', 'users.id', '=', 'user_roles.user_id')
->join('roles', 'roles.id', '=', 'user_roles.role_id')
->select('roles.name')->where('users.id', '=',$user->id)
->get();
你可以试试拉威尔·艾尔昆特(Laravel Eloquent)的《许多人》(Manytomy)关系。它的设置与这里的透视表完全相同 将此方法添加到您的
用户
模型
function roles {
return $this->belongsToMany('App\Role', 'user_roles', 'user_id', 'role_id');
}
在控制器中,您可以使用
$roles = User::with('roles:name')->where('id', $user->id)->get();
试一下这个方法,你不需要改变任何东西,只要调整你的模型和控制器
有关更多信息,请参见对不起,先生/女士,我想使用雄辩功能获取角色名称。例如:口香糖等