php - Laravel Eloquent - pluck() 角色名称
问题描述
我正在尝试从具有角色的请求中获取经过身份验证的用户对象。我正在使用Spatie laravel-permissions和 Laravel 8。
像这样从请求中获取用户对象
$request->user()->getRoleNames()->pluck('name');
return $request->user();
退货
{
"id":1,
"name":"User name",
"email":"User email",
"email_verified_at":null,
"company":"--",
"phone":"--",
"created_at":"--",
"updated_at":"--",
"roles":[
{
"id":1,
"name":"Super Admin",
"guard_name":"web",
"created_at":"--",
"updated_at":"--",
"pivot":{
"model_id":1,
"role_id":1,
"model_type":"App\\Models\\User"
}
}
]
}
我需要退回的东西
{
"id":1,
"name":"User name",
"email":"User email",
"email_verified_at":null,
"company":"--",
"phone":"--",
"created_at":"--",
"updated_at":"--",
"roles":["Super Admin"]
}
解决方案
添加roles
到用户对象,像这样
$user = $request->user();
$user->roles = $user->roles()->pluck('name');
return $user;
推荐阅读
- javascript - Javascript左键释放
- python-3.x - Recursion functions for factorial
- dart - 登录凭证颤振
- android - 在 ViewModelFactory 中使用位置
- android - XAMARIN:如何 FindViewById
???(未找到资源) - vba - VBA 集合定义为静态类型可能吗?
- angular - 用于数字搜索的 kendo-dropdownlist 的 filterChange 事件
- opencl - 有没有办法用 OpenCL 终止 AMD GPU 上的内核?
- c++ - ODB如何在MFC中支持CString
- php - 无法发布在循环中创建的多个复选框的值