Php 连接两个表并在laravel中获取行
我有桌子: 角色: 身份证名称 用户角色: 角色\u id用户\u id公司\u id用户\u类型 我要公司id显示他所有的角色名 角色->id是角色用户->角色id 我的代码:Php 连接两个表并在laravel中获取行,php,laravel,laravel-5,Php,Laravel,Laravel 5,我有桌子: 角色: 身份证名称 用户角色: 角色\u id用户\u id公司\u id用户\u类型 我要公司id显示他所有的角色名 角色->id是角色用户->角色id 我的代码: $role = DB::table('role_user')->select('role_id')->where('company_id', $cp)->get(); foreach ($role as $key) { $role = $key; } $roles = Role::where
$role = DB::table('role_user')->select('role_id')->where('company_id', $cp)->get();
foreach ($role as $key) {
$role = $key;
}
$roles = Role::where('id', $role->role_id)->get();
此代码仅显示一个角色名称,但必须显示3个。
如果我在foreach之前添加($role),那么它会给出3个role\u id的数组使用
[join][1]
$roles = Role::select('roles.*')
->join('role_user', 'role_user.role_id','=','roles.id')
->where('company_id', $cp)
->get();
您可以使用表联接来实现所需的输出:
$role = DB::table('role_user')
->leftjoin('roles', 'role_user.role_id', '=', 'roles.id')
->where('company_id', $cp)
->get();