我有三张桌子。
用户
id name
角色
id name
ROLE_USER
id user_id role_id
我想像
一样加入他们id name name(role) user_id role_id
我的愿景是展示用户的角色名称。
我试过这个:
DB::table('users')
->join('role_user', 'users.id', '=', 'role_user.user_id')
->join('roles', 'role_user.role_id', '=', 'roles.id')
->select('users.id', 'role_user.role_id', 'roles.name')
->get();
你能告诉我我做错了什么,或者我是不是想走错路。
先谢谢
答案 0 :(得分:0)
名称字段为" double"。这不是您的数据库的问题,但它不会很好地显示。请尝试以下代码:
$result = DB::table('..etc.')->get(['users.*','role_user.role_id','roles.name as role_name']);
foreach($result as $row) {
print_r($row->toArray());
}
正如您所看到的,我已更改了get()调用,以确保用户名称"名称"字段不会与角色的名称发生冲突"名称"字段。