Laravel集合如何从所有项目中删除特定键?

Ahm*_*aki 1 php arrays laravel

起初对我来说这听起来很简单,但我找不到解决方案!

这是我的收藏:

Collection {#433
  #items: array:432 [
    0 => array:5 [
      "word_id" => 12218
      "name" => "ordered"
      "rank" => 12217
      "is_real" => 1
      "id" => 1
    ]
    1 => array:5 [
      "word_id" => 12097
      "name" => "one-dimensional"
      "rank" => 12096
      "is_real" => 1
      "id" => 2
    ]
    2 => array:5 [
      "word_id" => 19679
      "name" => "watery"
      "rank" => 19678
      "is_real" => 1
      "id" => 3
    ]
    .
    .
    .
Run Code Online (Sandbox Code Playgroud)

但我希望它是这样的:

Collection {#433 
  #items: array:432 [
    0 => array:5 [
      "name" => "ordered"
      "id" => 1
    ]
    1 => array:5 [
      "name" => "one-dimensional"
      "id" => 2
    ]
    2 => array:5 [
      "name" => "watery"
      "id" => 3
    ]
    .
    .
    .
Run Code Online (Sandbox Code Playgroud)

Laravel Collection 如何做到这一点?我是否必须将我的集合更改为数组并自己进行操作?如何?

fub*_*bar 6

$collection = $collection->map(function ($item) {
    return array_only($item, ['id', 'name']);
});
Run Code Online (Sandbox Code Playgroud)


Gro*_*ker 5

或者你也可以使用

 $collection = $collection ->map(function ($item) {
            return collect($item)->forget(['work_id','rank','is_real']);
        });
Run Code Online (Sandbox Code Playgroud)

  • 不要只发布代码。在您的答案中添加一些信息可以提高质量。 (2认同)