我在 Laratrust 中使用 Laravel,如何打印附加到帐户的角色?

I'm using Laravel with Laratrust, How to print a role that's attached to an account?

在我的主页上,我可以使用以下方法打印登录帐户的名称和电子邮件:
{{ Auth::user()->name }}
{{ Auth::user()->email }}

但是当我想打印附加到该帐户的角色时:
{{ Auth::user()->roles }}

它打印 table 中所有数据的键和值的集合,如下所示:
[{"id":3,"name":"mahasiswa","display_name":"Mahasiswa","description":"Mahasiswa","created_at":"2021-03-22T13:09:14.000000Z","updated_at":"2021-03-22T13:09:14.000000Z","pivot":{"user_id":4,"role_id":3,"user_type":"App\Models\User"}}]

我只想提取名称或display_name。

所以,我正在使用 {{ Auth::user()->roles->where('name')->first() }},但它仍然显示相同的集合,但没有“[]”括号。

你应该先获取记录然后获取字段。

{{ Auth::user()->roles->first()->get('name') }}

这是来自文档的参考

https://laravel.com/docs/8.x/collections#method-get

谢谢大家的解答!我很感激。

但我刚刚在这里找到了答案

所以,我将代码更改为 {{ Auth::user()->roles->first()->display_name }},它完美地显示了附加到我登录帐户的角色名称。