簡體   English   中英

如何在 Laravel 中使用嵌套集合?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM