如何在 Laravel 中使用 Eloquent 关系在视图中显示两个表数据

Gab*_*e-M 5 php laravel eloquent

我有两个表名称是用户角色表。我在 Laravel Eloquent 中使用数据透视表名称Role_User在它们之间设置了 manyTomany 关系。现在,我想在这两个表中的数据显示使用起来雄辩关系图。(例如我想在我看来,以显示来自用户的用户表包含在其中的角色的角色表)

在这里,是我雄辩的关系。

public function roles()
{
    return $this->belongsToMany('App\Role');
}
public function users()
{
    return $this->belongsToMany('App\User');
}
Run Code Online (Sandbox Code Playgroud)

我的,雄辩的关系查询。

    $users=User::with('roles')->get();

    return view('admin',compact('users'));
Run Code Online (Sandbox Code Playgroud)

我在我的视图中尝试。

    @foreach($users as $user)
    <tr>
        <td>{{$user->name}}</td>
        <td>{{$user->email}}</td>
        <td>{{$user->roles->name}}</td>
        <td></td>
    </tr>
    @endforeach
Run Code Online (Sandbox Code Playgroud)

Joe*_*inz 4

当您调用 时$user->roles,您会得到角色的集合。因此,如果您想将它们全部显示在单个字符串中,您所要做的就是在该字符串上内爆集合:

<td>{{$user->roles->implode('name', ', ')}}</td>