问题描述
laravel查询出的一个无限极分类的数组,目前是三级只有,我想获取最低也就是三级分类的所有id,该如何获取
$arr = [
[
'id' => '1',
'name' => '分类1',
'pid' => '0',
'children' => [
[
'id' => '2',
'name' => '分类1-2',
'pid' => '1',
'children' => [
[
'id' => '3',
'name' => '分类1-2-3',
'pid' => '2',
],
[
'id' => '4',
'name' => '分类1-2-4',
'pid' => '2',
]
]
],
[
'id' => '5',
'name' => '分类1-5',
'pid' => '1',
'children' => [
[
'id' => '6',
'name' => '分类1-5-6',
'pid' => '5',
],
[
'id' => '7',
'name' => '分类1-5-7',
'pid' => '5',
]
]
]
]
],
[
'id' => '8',
'name' => '分类8',
'pid' => '0',
'children' => [
[
'id' => '9',
'name' => '分类8-9',
'pid' => '8',
'children' => [
[
'id' => '10',
'name' => '分类8-9-10',
'pid' => '9',
],
[
'id' => '11',
'name' => '分类8-9-11',
'pid' => '9',
]
]
],
[
'id' => '12',
'name' => '分类8-12',
'pid' => '8',
'children' => [
[
'id' => '13',
'name' => '分类8-12-13',
'pid' => '12',
],
[
'id' => '14',
'name' => '分类8-12-14',
'pid' => '12',
]
]
]
]
]
];
尝试方法
尝试过collect(collect($arr)->pluck('children_categories'))->pluck('id')
collect($arr)->pluck('children_categories')
能获取到2 3级分类 后面再获取就都是空数据了
期待的结果
$rule = [3, ......];
如果你的 laravel 版本过旧,就用这一段
如果你的 laravel 版本在 5.5 以上,可以用下面的方法