Laravel 使用Pluck从集合中提取某些值

示例

您通常会发现自己仅对部分数据感兴趣,而这些数据是它们的集合。

在下面的示例中,我们获得了一个事件的参与者列表,并且我们想为导游提供一个简单的名称列表。

// 首先,我们收集参与者
$participants = collect([
    ['name' => 'John', 'age' => 55],
    ['name' => 'Melissa', 'age' => 18],
    ['name' => 'Bob', 'age' => 43],
    ['name' => 'Sara', 'age' => 18],
]);

// 然后,我们要求集合获取所有名称
$namesList = $partcipants->pluck('name')
// ['John','Melissa','Bob','Sara'];

您也可以使用pluck点符号表示对象或嵌套数组/对象的集合。

$users = User::all(); // 返回所有用户的口才回收
$usernames = $users->pluck('username'); // 集合仅包含用户名

$users->load('profile'); // 为集合中的所有模型加载关系

// 使用点表示法,我们可以遍历嵌套的属性
$names = $users->pluck('profile.first_name'); // 从所有用户个人资料中获取所有名字