[英]How can I work with nested collection in laravel?
我在集合里面有集合,看起來像這樣:
=> [
[
"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->count();
這個回報1
它的行為就像只有 1 個集合,所以我什至不能使用 map 或 each 來過濾它。 我需要過濾最大深度為 4。
我試過reject()
但它也不起作用。
我可以將它轉換為數組,但我想使用不錯的收集方法...
您需要遍歷您的集合項
$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
語句
首先將集合轉換為數組,然后使用
count($result, COUNT_RECURSIVE)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.