Laravel之collection

Laravel 的 Collection 類其實有不少很是實用的方法,對於咱們在優化循環的時候很是的有用,咱們的目標就是: 再也不寫 foreach 循環 !

1、sum 求價格總和

    咱們會學習到 flatMap map sum 等很是實用的方法laravel

clipboard.png

clipboard.png

clipboard.png

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

2、 格式化登機口

    但願加深 map 的理解和 map 的應用場景
clipboard.png
clipboard.pnggit

3、計算 Github 活躍度

    經過 API 後獲取到數據,將數據轉化爲得分的一種機制,首先會嘗試 foreach 的方式,而後再用 Laravel 的 Collection 來優化和重構github

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

clipboard.png

常規解法:
clipboard.png數組

collection重構:
clipboard.pngoop

4、轉化評論格式

    Laravel Collection 中的 implode 方法其實在某些場景之下很是的有用,結合 map ,咱們就能夠對每一個元素進行自由度很高的格式自定義,本節視頻是普通格式轉 Markdown 格式學習

clipboard.png

5、計算每個月營業額

    在以前的示例當中,咱們都是對一個數組進行優化和重構。這節學習使用 zip 方法來解決兩個數組的狀況。優化

clipboard.png

clipboard.png

clipboard.png

clipboard.png

6、reduce 建立 lookup 數組

    在 Laravel Collection 當中,還有一個很是經常使用的方法:reduce,這對於咱們在建立 lookup 數組的時候很是的有用,這樣就可使用 Collection 重構一個複雜的數組,將它變成簡單 key value 這樣的 lookup 數組。spa

clipboard.png

或者:code

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

7、計算訂單彙總

    在處理訂單問題的時候,會遇到各類各樣的彙總問題,好比天天的銷售額彙總,天天的供應商彙總等,這個視頻中會學習 sum 方法的黑科技和一些 groupBy 的常見應用場景

clipboard.png

clipboard.png

clipboard.png

參考教程:用 Collection 重構代碼
參考文檔:Laravel 的集合 Collection

相關文章
相關標籤/搜索