如何在 Laravel 5.7 中返回集合的子集合?我有一个 Laravel 集合,它本身包含一个集合。当我通过我的 api 返回父集合时,显然有一个“子”对象,但是当我尝试返回“子”对象时它为空。相关收藏代码:$item = [ 'id' => $this->id, ... $this->mergeWhen($this->type === Item::[type], [ ... 'children' => [type]::collection($this->[prop]) ]),...return $item;];相关api控制器代码:$itemsQuery = $[parent_type]->items()->topLevel()->withAll()->ordered()->get();$items = [type]::collection($itemsQuery);$return_array = [];foreach ($items as $item){ array_push($return_array, $item); } return $return_array;这将返回我所期望的。"data": { "id": [guid], ... "children": [ { "id": [guid], ... } ]}但是当我把它改成$itemsQuery = $[parent_type]->items()->topLevel()->withAll()->ordered()->get();$items = [type]::collection($itemsQuery);$return_array = [];foreach ($items as $item){ array_push($return_array, $item->children); } return $return_array;我明白了"data": null
1 回答
慕后森
TA贡献1802条经验 获得超5个赞
尝试这个 :
...
$return_array = collect();
foreach ($items as $item)
{
$return_array->push($item->children);
}
return $return_array->toArray();
- 1 回答
- 0 关注
- 131 浏览
添加回答
举报
0/150
提交
取消