2016-12-16 2 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 
    ] 
    ] 
} 

Каждый element1, 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 => "СТАТЬЯ" 2 => 2100 3 => "СТАТЬЯ" 4 => 5407 5 => "Статья" 6 => 2970 7 => "Статья" 8 => 146 9 => "КАТЕГОРИЯ" 10 => 6186 11 => "Статья" 12 => 164 13 => "КАТЕГОРИЯ" 14 => +1728 15 => "Статья" 16 => 4481 17 => "Статья" 18 => 1611 19 => "Статья" 20 => 5345 21 => "СТАТЬЯ" 22 => 50 23 => "СТАТЬЯ" ] } –

+1

ah ok, я использую -> flatten (1) и отлично работает, спасибо! –

Смежные вопросы