gpt4 book ai didi

php - Laravel Eloquent - pluck() 角色名称

转载 作者:行者123 更新时间:2023-12-04 08:41:13 25 4
gpt4 key购买 nike

我正在尝试从具有角色的请求中获取经过身份验证的用户对象。我正在使用 Spatie和 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"]
}
注:
我不明白为什么要添加 $request->user()->getRoleNames()->pluck('name');使角色出现。没有它,角色根本不会出现。我以为我需要做 $request->user()->with('roles');但这不起作用(返回 null )。

最佳答案

虚惊。以为我只是多虑了。
已添加 roles到用户对象,像这样

$user = $request->user();
$user->roles = $user->roles()->pluck('name');
return $user;

关于php - Laravel Eloquent - pluck() 角色名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64561953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com