Laravelのpluckメソッドは、指定したキーの値を取り出すために使用される便利なメソッドです。
このメソッドを使用すると、コレクションやクエリビルダから特定のフィールドの値を抜き出して、シンプルな配列として取得することができます。
コレクションでの使用
Illuminate\Support\Collection
クラスのインスタンスに対して pluck
メソッドを使用すると、指定されたキーの値を持つ新しいコレクションを返します。この場合、返されるのはコレクションです。
$collection = collect([
['name' => 'John', 'age' => 30],
['name' => 'Jane', 'age' => 25],
['name' => 'Tom', 'age' => 35],
]);
$names = $collection->pluck('name');
上記の例では、$names
には以下のコレクションが返されます。
Illuminate\Support\Collection {#123
all: [
"John",
"Jane",
"Tom",
],
}
クエリビルダでの使用
Eloquent
モデルやクエリビルダで pluck
メソッドを使用すると、データベースクエリを実行して、指定されたキーの値の配列を取得します。
この場合、返されるのはインデックスの配列です。
$names = User::pluck('name');
上記の例では、$names
には次のようなシンプルな配列が返されます。
[
"John",
"Jane",
"Tom",
]
まとめ
コレクション (Collection) の pluck
メソッドは、新しいコレクションを返します。
クエリビルダ (Query Builder) の pluck
メソッドは、シンプルな配列を返します。
それぞれのケースで返される形式を理解して使い分けると、より効果的に Laravel の機能を活用できます。
誰かのお役に立てたら嬉しいです。