Laravel `Collection` 类常用操作方法

Laravel 的 Collection 类是一个非常强大的工具,提供了丰富的链式操作方法来方便开发者对数据进行处理。本文将介绍 Laravel 中常用的 Collection 方法,并根据它们的功能进行分组,以帮助你更高效地使用这些方法。


1. 数据访问与查询

这些方法主要用于从集合中获取、查询或访问特定的值。

  • all():获取集合的所有项目(返回一个数组)。
  • avg():获取集合中数值的平均值。
  • chunk():将集合分割成多个小块(数组)。
  • collapse():将嵌套集合展开为一个集合。
  • combine():将两个集合合并成一个键值对集合。
  • contains():检查集合中是否包含某个元素。
  • count():获取集合中的元素个数。
  • diff():获取集合中与另一个集合不同的元素。
  • diffKeys():获取集合中与另一个集合键不同的元素。
  • first():获取集合中的第一个元素。
  • get():获取集合中的值,支持传入默认值。
  • implode():通过指定的键连接集合元素的值,生成字符串。
  • intersect():获取两个集合的交集。
  • isEmpty():检查集合是否为空。
  • keys():获取集合的所有键。
  • last():获取集合中的最后一个元素。
  • map():对集合的每个元素执行指定的操作。
  • mapWithKeys():类似 map(),但可以重建键值对。
  • max():获取集合中的最大值。
  • merge():合并两个集合。
  • min():获取集合中的最小值。
  • pluck():获取集合中某个键的所有值。
  • random():从集合中随机返回一个元素。
  • reduce():根据回调函数对集合中的所有元素进行递归计算。
  • reverse():翻转集合的顺序。
  • search():查找指定元素的键,如果元素存在,则返回键。
  • shift():从集合中删除并返回第一个元素。
  • sort():对集合进行升序排序。
  • sortBy():根据指定字段对集合进行排序。
  • sortByDesc():根据指定字段对集合进行降序排序。
  • splice():从集合中删除指定的元素并返回删除的部分。
  • take():获取集合的前 N 个元素。
  • toArray():将集合转换为数组。
  • toJson():将集合转换为 JSON 字符串。
  • unique():去重集合中的元素。
  • values():获取集合的所有值。

2. 数据转换与处理

这些方法主要用于对集合中的元素进行转换或修改,改变数据的结构或格式。

  • flatten():将多维集合转换为一维集合。
  • flip():交换集合的键和值。
  • transform():转化集合中的每个元素。
  • merge():合并一个或多个集合。
  • collapse():将嵌套集合展开为一个集合。
  • combine():将两个集合合并为一个键值对集合。
  • groupBy():根据某个字段对集合进行分组。
  • keyBy():根据指定字段将集合的元素的键设置为该字段的值。
  • sort():对集合进行升序排序。
  • sortBy():根据指定字段对集合进行排序。
  • sortByDesc():根据指定字段对集合进行降序排序。
  • reverse():翻转集合的顺序。
  • unique():去重集合中的元素。

3. 过滤与条件判断

这些方法用于过滤集合中的元素,根据条件保留或移除特定的项。

  • filter():根据指定的条件过滤集合。
  • reject():排除掉不满足条件的元素。
  • each():遍历集合中的每个元素,执行回调函数。
  • every():检查集合中每个元素是否满足条件。
  • contains():检查集合是否包含指定元素。
  • has():检查集合中是否存在指定的键。
  • isEmpty():检查集合是否为空。
  • where():根据条件从集合中筛选元素。
  • whereStrict():根据严格比较条件筛选集合中的元素。
  • whereIn():根据指定值匹配集合中的元素。
  • whereLoose():通过松散比较筛选集合中的元素。
  • intersect():获取两个集合的交集。

4. 数据统计与计算

这些方法用于对集合进行统计计算聚合操作。

  • count():获取集合的元素数量。
  • avg():获取集合中数值的平均值。
  • sum():获取集合中数值的总和。
  • min():获取集合中的最小值。
  • max():获取集合中的最大值。
  • reduce():根据回调函数对集合中的所有元素进行递归计算。
  • pipe():管道操作,将集合传递给回调函数,返回处理后的集合。
  • random():从集合中随机返回一个元素。
  • take():从集合中获取前 N 个元素。

5. 集合操作与组合

这些方法用于操作组合集合,如分组、分页、合并等。

  • groupBy():按某个字段分组集合。
  • keyBy():根据某个字段将集合的元素键设置为该字段的值。
  • forPage():按页数分割集合,返回分页数据。
  • chunk():将集合分割成多个小块(数组)。
  • zip():将多个集合“拉链”合并。
  • slice():获取集合的指定区间。

6. 集合修改与删除

这些方法用于修改删除集合中的元素

  • put():向集合中添加一个新的键值对。
  • forget():从集合中删除指定的元素。
  • prepend():向集合的开头插入元素。
  • push():向集合的末尾添加元素。
  • pop():删除集合末尾的元素并返回。
  • pull():删除并返回指定键的值。
  • shift():删除集合中的第一个元素并返回。

7. 数据格式化与输出

这些方法用于将集合转换为不同格式的数据,便于输出或存储。

  • toArray():将集合转换为数组。
  • toJson():将集合转换为 JSON 字符串。

8. 其他

这些方法用于一些特殊操作或将集合按特定方式处理。

  • flip():交换集合的键和值。
  • split():按指定条件拆分集合。
  • transform():对集合的每个元素应用一个变换函数。

总结

类别 方法 总数
数据访问与查询 all(), avg(), chunk(), collapse(), combine(), contains(), count(), diff(), diffKeys(), first(), get(), implode(), intersect(), isEmpty(), keys(), last(), map(), mapWithKeys(), max(), merge(), min(), pluck(), random(), reduce(), reverse(), search(), shift(), sort(), sortBy(), sortByDesc(), splice(), take(), toArray(), toJson(), unique(), values() 27
数据转换与处理 flatten(), flip(), transform(), merge(), collapse(), combine(), groupBy(), keyBy(), sort(), sortBy(), sortByDesc(), reverse(), unique() 12
过滤与条件判断 filter(), reject(), each(), every(), contains(), has(), isEmpty(), where(), whereStrict(), whereIn(), whereLoose(), intersect() 11
数据统计与计算 count(), avg(), sum(), min(), max(), reduce(), pipe(), random(), take() 9
集合操作与组合 groupBy(), keyBy(), forPage(), chunk(), zip(), slice() 6
集合修改与删除 put(), forget(), prepend(), push(), pop(), pull(), shift() 7
数据格式化与输出 toArray(), toJson() 2
其他 flip(), split(), transform() 3

通过使用 Laravel 的 Collection 类,开发者可以非常高效地对数据进行各种操作。这些方法不仅能够简化数据处理逻辑,还能提高代码的可读性和可维护性。希望本文能够帮助你更好地理解并使用这些常用的 Collection 方法。

冯奎博客
请先登录后发表评论
  • latest comments
  • 总共0条评论