我在资源内部有资源,通常它可以正常工作,但是如果资源1.1中的资源1.1.1给出一个具有特定值的字段,我需要它在资源1处返回空数组。以显示集合Resource 1中的特定Resource 1.1
尝试使用json_decode并强制资源处理,并给出资源的结果字符串和json_decode将其返回到数组。
//资源1.1->
return [
'id' => (int)$this->id,
'block' => BlockResource::collection($this->blocks)->data($this->parameters);
];
//(1.1.1)BlockResource
return [
'id' => (int)$this->id,
'groups' => Resource::collection()
];
dd($ BlockResource); //显示资源对象而不是处理结果
$ BlockResource = json_encode($ BlockResource);
dd($ BlockResource); //带有已处理的字符串,可以执行json_decode以数组形式返回。...
示例:
resource1: [
{
id : 1
block:{
id : 1
groups : [1,2,3,4,5]
}
},
{
id : 2
block:{
id : 2
groups : []
}
}
]
不应显示2ºresource1.1,因为组是一个空数组 我可以使用json_encode / decode技巧,但这会给我带来多余的处理。
任何想法:D?
答案 0 :(得分:0)
Well决定使用JsonResource方法和
/**
* Resolve the resource to an array.
*
* @param \Illuminate\Http\Request|null $request
* @return array
*/
public function resolve($request = null)
为我工作