为了账号安全,请及时绑定邮箱和手机立即绑定

在 Laravel 5.7 中,如何处理作为集合的子集合的集合?

在 Laravel 5.7 中,如何处理作为集合的子集合的集合?

PHP
红糖糍粑 2022-07-09 18:30:24
如何在 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();


查看完整回答
反对 回复 2022-07-09
  • 1 回答
  • 0 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信