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

希望這有助於!