Laravelのコレクション内のすべての連想配列から1つの列を取得する方法


  1. pluckメソッドを使用する方法:
$collection = collect([
    ['name' => 'John', 'age' => 30],
    ['name' => 'Jane', 'age' => 25],
    ['name' => 'Bob', 'age' => 35]
]);
$column = $collection->pluck('name');
dd($column);

出力結果:

Illuminate\Support\Collection^ {#xxx ▼
  #items: array:3 [▼
    0 => "John"
    1 => "Jane"
    2 => "Bob"
  ]
}
  1. mapメソッドを使用する方法:
$collection = collect([
    ['name' => 'John', 'age' => 30],
    ['name' => 'Jane', 'age' => 25],
    ['name' => 'Bob', 'age' => 35]
]);
$column = $collection->map(function ($item) {
    return $item['name'];
});
dd($column);

出力結果:

Illuminate\Support\Collection^ {#xxx ▼
  #items: array:3 [▼
    0 => "John"
    1 => "Jane"
    2 => "Bob"
  ]
}
  1. eachメソッドとpluckメソッドを組み合わせて使用する方法:
$collection = collect([
    ['name' => 'John', 'age' => 30],
    ['name' => 'Jane', 'age' => 25],
    ['name' => 'Bob', 'age' => 35]
]);
$column = collect();
$collection->each(function ($item) use ($column) {
    $column->push($item['name']);
});
dd($column);

出力結果:

Illuminate\Support\Collection^ {#xxx ▼
  #items: array:3 [▼
    0 => "John"
    1 => "Jane"
    2 => "Bob"
  ]
}

これらの方法を使用すると、Laravelのコレクション内のすべての連想配列から1つの列を取得することができます。お使いの環境や好みに応じて、最適な方法を選択してください。