Php romove obj来自查询laravel obj['pivot']
我的查询,我正在使用laravel权限空间。因为我需要显示数据,它将返回相同的格式。不需要显示枢轴。Php romove obj来自查询laravel obj['pivot'],php,laravel,eloquent,spatie,laravel-permission,Php,Laravel,Eloquent,Spatie,Laravel Permission,我的查询,我正在使用laravel权限空间。因为我需要显示数据,它将返回相同的格式。不需要显示枢轴。 如果您看到,透视图是进入员工->用户->角色->透视图 回应 [ { "employ":"Juan", "age":21, "user":{ "id":5, "name":"mario m
如果您看到,透视图是进入员工->用户->角色->透视图 回应
[
{
"employ":"Juan",
"age":21,
"user":{
"id":5,
"name":"mario maradionio",
"email":"empleado@gmail.com",
"tipo_usuario":null,
"roles":[
{
"id":1,
"name":"root",
"pivot":{
"model_id":5,
"role_id":1,
"model_type":"App\\User"
}
},
{
"id":2,
"name":"Alumno",
"pivot":{
"model_id":5,
"role_id":2,
"model_type":"App\\User"
}
},
{
"id":3,
"name":"Encargado",
"pivot":{
"model_id":5,
"role_id":3,
"model_type":"App\\User"
}
}
]
}
]
模型
使用空间\权限\特征\角色
class User extends Authenticatable
{
use Notifiable;
use HasRoles;
}
使用集合它不显示角色,只显示一个角色,并且角色的de name为null
[
'id' => $this->id,
'employe' => $this->name,
'user' => [
'id' => $this->id,
'name' => $this->name,
'roles' => [
'id' => $this->id,
'name' => $this->name
]
]
];
您应该创建一个资源类并返回它 公共功能指数 { $employees=雇员::其中'estado',1 ->使用“user.roles” ->得到; return EmployeeResource::collection$employees; }
您可以参考文档来创建资源:在Role.php模型中添加隐藏属性 创建Role.php并扩展Spatie\Permission\Models\Role
如果您看到,pivot是进入employes->user->roles->pivot的,它不适用于roles pivot,您需要将此代码放在Role.php模型中,但我使用trait use HasRoles;模型用户如果使用资源::集合“'user'=>['id'=>$this->id,'name'=>$this->name,'roles'=>['id'=>$this->id,'name'=>$this->name]]`角色名称无效,请退出空用户:{id:5,名称:null,角色:{id:5,名称:null}
[
'id' => $this->id,
'employe' => $this->name,
'user' => [
'id' => $this->id,
'name' => $this->name,
'roles' => [
'id' => $this->id,
'name' => $this->name
]
]
];