前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Laravel之collection

Laravel之collection

作者头像
唐成勇
发布2019-05-26 10:56:17
1.2K0
发布2019-05-26 10:56:17
举报
文章被收录于专栏:唐成勇唐成勇

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

一、sum 求价格总和

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

clipboard.png
clipboard.png
clipboard.png
clipboard.png
clipboard.png
clipboard.png
代码语言:javascript
复制
collect($arr)->pluck('order_products.*.price')->flatten(1)->sum();

二、 格式化登机口

希望加深 map 的理解和 map 的应用场景

clipboard.png
clipboard.png
clipboard.png
clipboard.png

三、计算 Github 活跃度

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

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

clipboard.png
clipboard.png

常规解法:

clipboard.png
clipboard.png

collection重构:

clipboard.png
clipboard.png

四、转化评论格式

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

clipboard.png
clipboard.png

五、计算每月营业额

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

clipboard.png
clipboard.png
clipboard.png
clipboard.png
clipboard.png
clipboard.png
clipboard.png
clipboard.png

六、reduce 创建 lookup 数组

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

clipboard.png
clipboard.png

或者:

代码语言:javascript
复制
collect($employees)->pluck('email','name')

七、计算订单汇总

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

clipboard.png
clipboard.png
clipboard.png
clipboard.png
clipboard.png
clipboard.png

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、sum 求价格总和
  • 二、 格式化登机口
  • 三、计算 Github 活跃度
  • 四、转化评论格式
  • 五、计算每月营业额
  • 六、reduce 创建 lookup 数组
  • 七、计算订单汇总
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档