Laravel 的 Collection 类其实有很多非常实用的方法,对于我们在优化循环的时候非常的有用,我们的目标就是:
不再写 foreach
循环 !
一、sum 求价格总和
我们会学习到 flatMap
map
sum
等非常实用的方法
collect($arr)->pluck('order_products.*.price')->flatten(1)->sum();
二、 格式化登机口
希望加深 map
的理解和 map
的应用场景
三、计算 Github 活跃度
通过 API 后获取到数据,将数据转化为得分的一种机制,首先会尝试 foreach
的方式,然后再用 Laravel 的 Collection 来优化和重构
https://api.github.com/users/...
常规解法:
collection重构:
四、转化评论格式
Laravel Collection 中的 implode
方法其实在某些场景之下非常的有用,结合 map
,我们就可以对每个元素进行自由度很高的格式自定义,本节视频是普通格式转 Markdown
格式
五、计算每月营业额
在之前的示例当中,我们都是对一个数组进行优化和重构。这节学习使用 zip
方法来解决两个数组的情况。
六、reduce 创建 lookup 数组
在 Laravel Collection 当中,还有一个非常常用的方法:reduce
,这对于我们在创建 lookup 数组的时候非常的有用,这样就可以使用 Collection 重构一个复杂的数组,将它变成简单 key value 这样的 lookup 数组。
或者:
collect($employees)->pluck('email','name')
七、计算订单汇总
在处理订单问题的时候,会遇到各种各样的汇总问题,比如每天的销售额汇总,每天的供应商汇总等,这个视频中会学习 sum
方法的黑科技和一些 groupBy
的常见应用场景