使用 Pluck 從集合中提取某些值

你經常會發現自己擁有一組資料,你只對部分資料感興趣。

在下面的示例中,我們獲得了一個活動參與者列表,我們希望為導遊提供一個簡單的名稱列表。

// First we collect the participants
$participants = collect([
    ['name' => 'John', 'age' => 55],
    ['name' => 'Melissa', 'age' => 18],
    ['name' => 'Bob', 'age' => 43],
    ['name' => 'Sara', 'age' => 18],
]);

// Then we ask the collection to fetch all the names
$namesList = $partcipants->pluck('name')
// ['John', 'Melissa', 'Bob', 'Sara'];

你還可以將 pluck 用於物件集合或帶有點表示法的巢狀陣列/物件。

$users = User::all(); // Returns Eloquent Collection of all users
$usernames = $users->pluck('username'); // Collection contains only user names

$users->load('profile'); // Load a relationship for all models in collection

// Using dot notation, we can traverse nested properties
$names = $users->pluck('profile.first_name'); // Get all first names from all user profiles