使用 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