Laravel 集合 return 只有字段的集合

Laravel collection return collection with only field

我有这个 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
      ]
    ]
  ]
}

而且我只得到字段为 'elements' 的集合。

我想要这样的结果:

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 版本,我不知道在这种情况下使用那个收集过滤器。

您可以使用pluck()方法:

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

The pluck method retrieves all of the values for a given key.

看看pluck()方法。

你可以这样使用它:

$collection->pluck('field');

More about it

您可以使用 laravel 的 pluck() 方法从集合中获取选定的键,如下所示:

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

希望对您有所帮助!