Laravel 的 Collection
类是一个非常强大的工具,提供了丰富的链式操作方法来方便开发者对数据进行处理。本文将介绍 Laravel 中常用的 Collection
方法,并根据它们的功能进行分组,以帮助你更高效地使用这些方法。
这些方法主要用于从集合中获取、查询或访问特定的值。
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()
:获取集合的所有值。这些方法主要用于对集合中的元素进行转换或修改,改变数据的结构或格式。
flatten()
:将多维集合转换为一维集合。flip()
:交换集合的键和值。transform()
:转化集合中的每个元素。merge()
:合并一个或多个集合。collapse()
:将嵌套集合展开为一个集合。combine()
:将两个集合合并为一个键值对集合。groupBy()
:根据某个字段对集合进行分组。keyBy()
:根据指定字段将集合的元素的键设置为该字段的值。sort()
:对集合进行升序排序。sortBy()
:根据指定字段对集合进行排序。sortByDesc()
:根据指定字段对集合进行降序排序。reverse()
:翻转集合的顺序。unique()
:去重集合中的元素。这些方法用于过滤集合中的元素,根据条件保留或移除特定的项。
filter()
:根据指定的条件过滤集合。reject()
:排除掉不满足条件的元素。each()
:遍历集合中的每个元素,执行回调函数。every()
:检查集合中每个元素是否满足条件。contains()
:检查集合是否包含指定元素。has()
:检查集合中是否存在指定的键。isEmpty()
:检查集合是否为空。where()
:根据条件从集合中筛选元素。whereStrict()
:根据严格比较条件筛选集合中的元素。whereIn()
:根据指定值匹配集合中的元素。whereLoose()
:通过松散比较筛选集合中的元素。intersect()
:获取两个集合的交集。这些方法用于对集合进行统计、计算和聚合操作。
count()
:获取集合的元素数量。avg()
:获取集合中数值的平均值。sum()
:获取集合中数值的总和。min()
:获取集合中的最小值。max()
:获取集合中的最大值。reduce()
:根据回调函数对集合中的所有元素进行递归计算。pipe()
:管道操作,将集合传递给回调函数,返回处理后的集合。random()
:从集合中随机返回一个元素。take()
:从集合中获取前 N 个元素。这些方法用于操作和组合集合,如分组、分页、合并等。
groupBy()
:按某个字段分组集合。keyBy()
:根据某个字段将集合的元素键设置为该字段的值。forPage()
:按页数分割集合,返回分页数据。chunk()
:将集合分割成多个小块(数组)。zip()
:将多个集合“拉链”合并。slice()
:获取集合的指定区间。这些方法用于修改或删除集合中的元素。
put()
:向集合中添加一个新的键值对。forget()
:从集合中删除指定的元素。prepend()
:向集合的开头插入元素。push()
:向集合的末尾添加元素。pop()
:删除集合末尾的元素并返回。pull()
:删除并返回指定键的值。shift()
:删除集合中的第一个元素并返回。这些方法用于将集合转换为不同格式的数据,便于输出或存储。
toArray()
:将集合转换为数组。toJson()
:将集合转换为 JSON 字符串。这些方法用于一些特殊操作或将集合按特定方式处理。
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
方法。
本文为冯奎原创文章,转载无需和我联系,但请注明来自冯奎博客fengkui.net
最新评论