Laravel之collection

Laravel 的 Collection 类其实有很多非常实用的方法,对于我们在优化循环的时候非常的有用,我们的目标就是: 不再写 foreach 循环 !

一、sum 求价格总和

    我们会学习到 flatMap map sum 等非常实用的方法

Laravel之collection_第1张图片

clipboard.png

Laravel之collection_第2张图片

collect($arr)->pluck('order_products.*.price')->flatten(1)->sum();

二、 格式化登机口

    希望加深 map 的理解和 map 的应用场景
Laravel之collection_第3张图片

三、计算 Github 活跃度

    通过 API 后获取到数据,将数据转化为得分的一种机制,首先会尝试 foreach 的方式,然后再用 Laravel 的 Collection 来优化和重构

https://api.github.com/users/...

clipboard.png

常规解法:
Laravel之collection_第4张图片

collection重构:
Laravel之collection_第5张图片

四、转化评论格式

    Laravel Collection 中的 implode 方法其实在某些场景之下非常的有用,结合 map ,我们就可以对每个元素进行自由度很高的格式自定义,本节视频是普通格式转 Markdown 格式

Laravel之collection_第6张图片

五、计算每月营业额

    在之前的示例当中,我们都是对一个数组进行优化和重构。这节学习使用 zip 方法来解决两个数组的情况。

Laravel之collection_第7张图片

Laravel之collection_第8张图片

Laravel之collection_第9张图片

clipboard.png

六、reduce 创建 lookup 数组

    在 Laravel Collection 当中,还有一个非常常用的方法:reduce,这对于我们在创建 lookup 数组的时候非常的有用,这样就可以使用 Collection 重构一个复杂的数组,将它变成简单 key value 这样的 lookup 数组。

Laravel之collection_第10张图片

或者:

collect($employees)->pluck('email','name')

七、计算订单汇总

    在处理订单问题的时候,会遇到各种各样的汇总问题,比如每天的销售额汇总,每天的供应商汇总等,这个视频中会学习 sum 方法的黑科技和一些 groupBy 的常见应用场景

Laravel之collection_第11张图片

Laravel之collection_第12张图片

Laravel之collection_第13张图片

参考教程:用 Collection 重构代码
参考文档:Laravel 的集合 Collection

你可能感兴趣的:(laravel,collection,foreach,refactor)