Laravel 应该如何使用Collection ?

开启掘金成长之旅!这是我参与「掘金日新计划 · 6 月更文挑战」的第 30 天,点击查看活动详情

Laravel 提供了强大的集合类——Illuminate\Support\Collection,它是对 PHP 原生数组的增强,并提供了许多便捷的方法来处理数据。下面是 Laravel Collection 的基本使用方法:

  1. 创建集合:
use Illuminate\Support\Collection;
// 从数组创建集合
$collection = collect(['apple', 'banana', 'orange']);
// 从数据库查询结果创建集合
$users = DB::table('users')->get();
$collection = collect($users);
use Illuminate\Support\Collection;

// 从数组创建集合
$collection = collect(['apple', 'banana', 'orange']);




// 从数据库查询结果创建集合
$users = DB::table('users')->get();
$collection = collect($users);
use Illuminate\Support\Collection; // 从数组创建集合 $collection = collect(['apple', 'banana', 'orange']); // 从数据库查询结果创建集合 $users = DB::table('users')->get(); $collection = collect($users);
  1. 访问集合元素:
// 获取第一个元素
$first = $collection->first();
// 获取指定索引的元素
$item = $collection->get(2);
// 使用索引或键访问元素
$item = $collection[1];
// 判断集合是否为空
$isEmpty = $collection->isEmpty();
// 获取第一个元素
$first = $collection->first();


// 获取指定索引的元素
$item = $collection->get(2);

// 使用索引或键访问元素
$item = $collection[1];

// 判断集合是否为空
$isEmpty = $collection->isEmpty();
// 获取第一个元素 $first = $collection->first(); // 获取指定索引的元素 $item = $collection->get(2); // 使用索引或键访问元素 $item = $collection[1]; // 判断集合是否为空 $isEmpty = $collection->isEmpty();
  1. 遍历集合:
// 使用 foreach 遍历
foreach ($collection as $item) {
echo $item;
}
// 使用 each 方法遍历并对每个元素执行回调函数
$collection->each(function ($item) {
echo $item;
});
// 使用 foreach 遍历
foreach ($collection as $item) {
    echo $item;
}




// 使用 each 方法遍历并对每个元素执行回调函数
$collection->each(function ($item) {
    echo $item;
});
// 使用 foreach 遍历 foreach ($collection as $item) { echo $item; } // 使用 each 方法遍历并对每个元素执行回调函数 $collection->each(function ($item) { echo $item; });
  1. 过滤集合:
// 使用 filter 方法过滤元素
$filtered = $collection->filter(function ($item) {
return strlen($item) > 5;
});
// 使用 where 方法按条件过滤元素
$filtered = $collection->where('price', '>', 100);
// 使用 filter 方法过滤元素
$filtered = $collection->filter(function ($item) {
    return strlen($item) > 5;
});




// 使用 where 方法按条件过滤元素
$filtered = $collection->where('price', '>', 100);
// 使用 filter 方法过滤元素 $filtered = $collection->filter(function ($item) { return strlen($item) > 5; }); // 使用 where 方法按条件过滤元素 $filtered = $collection->where('price', '>', 100);
  1. 转换集合:
// 使用 map 方法对每个元素进行转换
$transformed = $collection->map(function ($item) {
return strtoupper($item);
});
// 使用 pluck 方法提取指定键的值
$names = $collection->pluck('name');
// 使用 map 方法对每个元素进行转换
$transformed = $collection->map(function ($item) {
    return strtoupper($item);
});




// 使用 pluck 方法提取指定键的值
$names = $collection->pluck('name');
// 使用 map 方法对每个元素进行转换 $transformed = $collection->map(function ($item) { return strtoupper($item); }); // 使用 pluck 方法提取指定键的值 $names = $collection->pluck('name');
  1. 排序集合:
// 使用 sort 方法按元素值排序
$sorted = $collection->sort();
// 使用 sortBy 方法按指定键排序
$sorted = $collection->sortBy('name');
// 使用 sort 方法按元素值排序
$sorted = $collection->sort();


// 使用 sortBy 方法按指定键排序
$sorted = $collection->sortBy('name');
// 使用 sort 方法按元素值排序 $sorted = $collection->sort(); // 使用 sortBy 方法按指定键排序 $sorted = $collection->sortBy('name');
  1. 其他常用方法:
  • count():返回集合中元素的数量。
  • unique():移除集合中的重复元素。
  • merge():合并两个集合。
  • contains():判断集合是否包含指定元素。

这些只是 Laravel Collection 提供的一些常见方法,还有更多丰富的方法可以在官方文档中查阅。Laravel Collection 的强大功能可以极大地简化数据的处理和转换,提高代码的可读性和开发效率。

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYBywyE8' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片