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