在Laravel中,可以使用groupBy()
方法按照集合中的子项对集合进行分组。下面是一个示例代码:
$collection = collect([
['name' => 'John', 'age' => 30, 'city' => 'New York'],
['name' => 'Jane', 'age' => 25, 'city' => 'Los Angeles'],
['name' => 'Bob', 'age' => 35, 'city' => 'New York'],
['name' => 'Alice', 'age' => 28, 'city' => 'Los Angeles']
]);
$grouped = $collection->groupBy('city');
$grouped->each(function ($item, $key) {
echo "City: " . $key . "\n";
$item->each(function ($innerItem) {
echo "Name: " . $innerItem['name'] . ", Age: " . $innerItem['age'] . "\n";
});
echo "\n";
});
上述代码将会输出以下内容:
City: New York
Name: John, Age: 30
Name: Bob, Age: 35
City: Los Angeles
Name: Jane, Age: 25
Name: Alice, Age: 28
在上述示例中,我们创建了一个包含多个人员信息的集合。然后,我们使用groupBy('city')
方法按照城市将集合进行分组。最后,我们使用each()
方法遍历每个分组,并输出分组的城市以及该分组中的每个人员信息。