摘要:從開始,現(xiàn)在包括一個方法,允許您對項目執(zhí)行條件操作,而不會中斷鏈。像所有其他集合方法,這一個可以有很多用例,選擇其中一個例子,想到的是能夠基于查詢字符串參數(shù)進行過濾。
從v5.4.12開始,Laravel Collections現(xiàn)在包括一個when方法,允許您對項目執(zhí)行條件操作,而不會中斷鏈。
像所有其他Laravel 集合方法,這一個可以有很多用例,選擇其中一個例子,想到的是能夠基于查詢字符串參數(shù)進行過濾。
為了演示這個例子,讓我們假設(shè)我們有一個來自Laravel News Podcast的主機列表:
$hosts = [ ["name" => "Eric Barnes", "location" => "USA", "is_active" => 0], ["name" => "Jack Fruh", "location" => "USA", "is_active" => 0], ["name" => "Jacob Bennett", "location" => "USA", "is_active" => 1], ["name" => "Michael Dyrynda", "location" => "AU", "is_active" => 1], ];
舊版本要根據(jù)查詢字符串進行過濾,您可能會這樣做:
$inUsa = collect($hosts)->where("location", "USA"); if (request("retired")) { $inUsa = $inUsa->filter(function($employee){ return ! $employee["is_active"]; }); }
使用新when方法,您現(xiàn)在可以在一個鏈式操作中執(zhí)行此操作:
$inUsa = collect($hosts) ->where("location", "USA") ->when(request("retired"), function($collection) { return $collection->reject(function($employee){ return $employee["is_active"]; }); });
翻譯自laravel news,原文鏈接 https://laravel-news.com/laravel-collections-when-method
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/22411.html
摘要:如下代碼省略相關(guān)代碼省略相關(guān)代碼可以看到在里面,是直接采用數(shù)組鏈表紅黑樹來實現(xiàn),時間復(fù)雜度在和之間,如果鏈表轉(zhuǎn)化為紅黑樹了,那么就是到。 在JDK1.8里面,ConcurrentHashMap在put方法里面已經(jīng)將分段鎖移除了,轉(zhuǎn)而是CAS鎖和synchronized ConcurrentHashMap是Java里面同時兼顧性能和線程安全的一個鍵值對集合,同屬于鍵值對的集合還有Hash...
摘要:方法也在讀源碼之內(nèi)部方法有過分析。不太明白為什么要用全局變量來接收,用局部變量不是更好點嗎保存當(dāng)前類的字符串,使用函數(shù)獲得。這是的依然是全局變量,但是接收的是當(dāng)前元素的當(dāng)前樣式類字符串為什么不用局部變量呢。 這篇依然是跟 dom 相關(guān)的方法,側(cè)重點是操作樣式的方法。 讀Zepto源碼系列文章已經(jīng)放到了github上,歡迎star: reading-zepto 源碼版本 本文閱讀的源碼為...
摘要:遠程調(diào)用開篇目標介紹之后解讀遠程調(diào)用模塊的內(nèi)容如何編排介紹中的包結(jié)構(gòu)設(shè)計以及最外層的的源碼解析。十該類就是遠程調(diào)用的上下文,貫穿著整個調(diào)用,例如調(diào)用,然后調(diào)用。十五該類是系統(tǒng)上下文,僅供內(nèi)部使用。 遠程調(diào)用——開篇 目標:介紹之后解讀遠程調(diào)用模塊的內(nèi)容如何編排、介紹dubbo-rpc-api中的包結(jié)構(gòu)設(shè)計以及最外層的的源碼解析。 前言 最近我面臨著一個選擇,因為dubbo 2.7.0-...
摘要:看起來是一個簡單的機制,但是在底層,有很多半隱藏的函數(shù)和鮮為人知的方式來實現(xiàn)更多功能。在這篇文章中,我將演示幾個小技巧。另外,在里也有些和時間相關(guān)的預(yù)定義方法通過關(guān)系排序一個復(fù)雜一點的技巧。幸運的是,確實有這樣的方法。 showImg(https://segmentfault.com/img/bV8L5s?w=1240&h=634); Eloquent ORM 看起來是一個簡單的機制,...
摘要:空格空格設(shè)置路徑格式化操作時,會自動在比如方法的右括號前,賦值語句的等號兩側(cè)等等這些位置自動加上一個空格,如果我們寫代碼時漏掉這些空格時。這樣,就方便我對別人的代碼也直接通過格式化操作來自動進行風(fēng)格規(guī)范處理。在開始講 Angular 各個核心知識點之前,想先來講講開發(fā)工具 WebStorm 的一些配置以及相應(yīng)配置文件如 tslint.json 的配置。 因為我個人比較注重代碼規(guī)范、代碼風(fēng)格,...
閱讀 3198·2021-10-15 09:41
閱讀 3240·2021-09-22 16:05
閱讀 2501·2021-09-22 15:19
閱讀 2957·2021-09-02 15:11
閱讀 2517·2019-08-30 15:52
閱讀 916·2019-08-30 11:06
閱讀 1061·2019-08-29 16:44
閱讀 1371·2019-08-23 18:18