2016-12-16 67 views
1

我有这个集合与此元素:结合Laravel类别项目

Collection {#325 ▼ 
    #items: array:3 [▼ 
    0 => array:4 [▼ 
     0 => array:2 [▶]//element1 
     1 => array:2 [▶]//element2 
     2 => array:2 [▶]//element3 
     3 => array:2 [▶]//element4 
    ] 
    1 => array:4 [▼ 
     0 => array:2 [▶]//element5 
     1 => array:2 [▶]//element6 
     2 => array:2 [▶]//element7 
     3 => array:2 [▶]//element8 
    ] 
    2 => array:4 [▼ 
     0 => array:2 [▶]//element9 
     1 => array:2 [▶]//element10 
     2 => array:2 [▶]//element11 
     3 => array:2 [▶]//elemen12 
    ] 
    ] 
} 

而我只需要收集相结合这一元素。

我想是这样的结果:

Collection {#325 ▼ 
    #items: array:12 [▼ 

     0 => array:2 [▶]//element1 
     1 => array:2 [▶]//element2 
     2 => array:2 [▶]//element3 
     3 => array:2 [▶]//element4 
     4 => array:2 [▶]//element5 
     5 => array:2 [▶]//element6 
     6 => array:2 [▶]//element7 
     7 => array:2 [▶]//element8 
     8 => array:2 [▶]//element9 
     9 => array:2 [▶]//element10 
     10 => array:2 [▶]//element11 
     11 => array:2 [▶]//elemen12 
    ] 
    ] 
} 

每个部件1,element2的,等等,包含其他数组是这样的:

3 => array:2 [▼//element 3 for example 
     "id" => 50 
     "type" => "ARTICLE" 
     ] 

有没有办法做到这一点?我使用的是Laravel 5.3版本,我不知道这个集合函数用于这种情况。

回答

0

使用flatten()方法:

$collection->flatten(); 

扁平化方法变平多维集合到一个单一的维度

+0

这种方法是无效的我,还给我我的元素的键分开:收藏{#326▼ #items:array:24 [▼ 0 => 2638 1 =>“ARTICLE” 2 => 2100 3 =>“ARTICLE” 4 => 5407 5 => “ARTICLE” 6 => 2970 7 => “ARTICLE” 8 => 146 9 => “CATEGORY” 10 => 6186 11 => “ARTICLE” 12 => 164 13 => “CATEGORY” 14 => 1728 15 => “ARTICLE” 16 => 4481 17 => “ARTICLE” 18 => 1611 19 => “ARTICLE” 20 => 5345 21 =>“ARTICLE” 22 => 50 23 =>“ARTICLE” ] } –

+1

好的,我使用 - >展平(1)并且完美地工作,谢谢! –