【发布时间】:2018-02-28 13:53:22
【问题描述】:
我正在使用 Laravel 5.3,并且我有一个格式如下的集合:
$categories = [
{
"id":1,
"sub_categories":[
{
"id":1,
"category_id":1
}
]
},
{
"id":7,
"sub_categories":[
{
"id":5,
"category_id":7,
},
{
"id":6,
"category_id":7
}
]
}
]
我需要提取所有 sub_categories 数组,但我找不到访问该属性内数据的方法。基于$categories 集合,我希望创建一个具有这种格式的新集合:
[
{
"id":1,
"category_id":1
},
{
"id":5,
"category_id":7
},
{
"id":6,
"category_id":7
}
]
我尝试将 map 和 pluck 应用到 $categories,但它检索到一个填充有 null 的数组。
【问题讨论】:
-
$categories->pluck("sub_categories")->flatten(1)可能会这样做 -
不...现在它给了我一个用 null 填充的数组。
-
我尝试了 pluck 并且成功了,您是通过什么方式检索到收藏的?
-
这样:Category::where('team_id', Auth::user()->current_team_id)->with('subCategories')->get()。你让我尝试使用关系名称的 pluck 方法,它奏效了!谢谢。
标签: php arrays laravel laravel-collection