我在集合中有集合,看起来像这样:
=> [
[
"id" => 3,
"parent_id" => 2,
"depth" => 1,
"children" => [
[
"id" => 4,
"parent_id" => 3,
"depth" => 2,
"children" => [
[
"id" => 5,
"parent_id" => 4,
"depth" => 3,
"children" => [
[
[...]
我该如何处理? $ result->计数();
此返回1
它表现得像只有一个集合,所以我甚至不能使用地图或每个过滤它。我需要过滤最大深度为4。
我试过拒绝(),但它也没有用。
我可以将它转换为数组,但我想使用漂亮的收集方法......
答案 0 :(得分:0)
你需要遍历你的收藏品
$result->children->map(function ($item) {
// do some stuff with $item or you can no map through its children
$item->children->map(function ($nestedItem) {
// do some stuff with $nestedItem etc//
});
});
另一种方法是使用foreach
语句,但
答案 1 :(得分:0)
首先将集合转换为Array,然后使用
count($result, COUNT_RECURSIVE)