2016-12-15 79 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

您可以使用laravel的pluck()方法来选定的关键点从集合这样获取:

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

希望这有助于!