2016-12-15 5 views
3

У меня есть эта коллекция Laravel с некоторыми полями:Laravel коллекция коллекция возвращение только поле

Collection {#324 ▼ 
    #items: array:3 [▼ 
    0 => array:5 [▼ 
     "img_src" => "http://newregalospersonales.dev/./svg/regalos-personalizados-gift.svg" 
     "img_alt" => "<span>Regalos</span> originales" 
     "class" => "personalised-gifts" 
     "elements" => array:4 [▼ 
     0 => array:2 [▶]//element1 
     1 => array:2 [▶]//element2 
     2 => array:2 [▶]//element3 
     3 => array:2 [▶]//element4 
     ] 
    ] 
    1 => array:5 [▼ 
     "img_src" => "http://newregalospersonales.dev/./svg/love-gifts.svg" 
     "img_alt" => "<span>Regalos</span> románticos" 
     "class" => "love-gifts" 
     "elements" => array:4 [▼ 
     0 => array:2 [▶]//element1 
     1 => array:2 [▶]//element2 
     2 => array:2 [▶]//element3 
     3 => array:2 [▶]//element4 
     ] 
    ] 
    2 => array:5 [▼ 
     "img_src" => "http://newregalospersonales.dev/./svg/regalos-ocasiones-especiales.svg" 
     "img_alt" => "<span>Detalles</span><br>de boda" 
     "class" => "wedding" 
     "elements" => array:4 [▼ 
     0 => array:2 [▶]//element1 
     1 => array:2 [▶]//element2 
     2 => array:2 [▶]//element3 
     3 => array:2 [▶]//element4 
     ] 
    ] 
    ] 
} 

И я только получить коллекцию «элементов» поля.

Я хочу результат:

Collection {#324 ▼ 
    #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 [▶] //element1 
     1 => array:2 [▶] //element2 
     2 => array:2 [▶] //element3 
     3 => array:2 [▶] //element4 
    ] 
    2 => array:4 [▼ 

     0 => array:2 [▶] //element1 
     1 => array:2 [▶] //element2 
     2 => array:2 [▶] //element3 
     3 => array:2 [▶] //element4 
    ] 
    ] 
} 

Есть ли способ сделать это? Я использую версию Laravel 5.3, и у меня нет идеи об использовании этого фильтра для этого случая.

ответ

6

Вы можете использовать pluck() метод:

$plucked = $collection->pluck('elements'); 

Метод срывать извлекает все значения для данного ключа.

2

Посмотрите на метод pluck().

Вы можете использовать его как это:

$collection->pluck('field'); 

More about it

1

Вы можете использовать pluck() метод Laravel для извлечения выбранных ключей из коллекции, как это:

$plucked_items = $collection->pluck('elements'); // returns a collection 
$plucked_items_arr = $plucked_items->all(); // returns an array 

Надежда это помогает !

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