资讯专栏INFORMATION COLUMN

laravel5.4.12新增集合操作when方法

zhangqh / 3015人阅读

摘要:从开始,现在包括一个方法,允许您对项目执行条件操作,而不会中断链。像所有其他集合方法,这一个可以有很多用例,选择其中一个例子,想到的是能够基于查询字符串参数进行过滤。

从v5.4.12开始,Laravel Collections现在包括一个when方法,允许您对项目执行条件操作,而不会中断链。

像所有其他Laravel 集合方法,这一个可以有很多用例,选择其中一个例子,想到的是能够基于查询字符串参数进行过滤。

为了演示这个例子,让我们假设我们有一个来自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],
];

旧版本要根据查询字符串进行过滤,您可能会这样做:

$inUsa = collect($hosts)->where("location", "USA");

if (request("retired")) {
    $inUsa = $inUsa->filter(function($employee){
        return ! $employee["is_active"];
    });
}

使用新when方法,您现在可以在一个链式操作中执行此操作:

$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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22411.html

相关文章

  • JDK1.8下ConcurrentHashMap的一些理解(一)

    摘要:如下代码省略相关代码省略相关代码可以看到在里面,是直接采用数组链表红黑树来实现,时间复杂度在和之间,如果链表转化为红黑树了,那么就是到。 在JDK1.8里面,ConcurrentHashMap在put方法里面已经将分段锁移除了,转而是CAS锁和synchronized ConcurrentHashMap是Java里面同时兼顾性能和线程安全的一个键值对集合,同属于键值对的集合还有Hash...

    Andrman 评论0 收藏0
  • 读 Zepto 源码之样式操作

    摘要:方法也在读源码之内部方法有过分析。不太明白为什么要用全局变量来接收,用局部变量不是更好点吗保存当前类的字符串,使用函数获得。这是的依然是全局变量,但是接收的是当前元素的当前样式类字符串为什么不用局部变量呢。 这篇依然是跟 dom 相关的方法,侧重点是操作样式的方法。 读Zepto源码系列文章已经放到了github上,欢迎star: reading-zepto 源码版本 本文阅读的源码为...

    snowell 评论0 收藏0
  • dubbo源码解析(十九)远程调用——开篇

    摘要:远程调用开篇目标介绍之后解读远程调用模块的内容如何编排介绍中的包结构设计以及最外层的的源码解析。十该类就是远程调用的上下文,贯穿着整个调用,例如调用,然后调用。十五该类是系统上下文,仅供内部使用。 远程调用——开篇 目标:介绍之后解读远程调用模块的内容如何编排、介绍dubbo-rpc-api中的包结构设计以及最外层的的源码解析。 前言 最近我面临着一个选择,因为dubbo 2.7.0-...

    jayce 评论0 收藏0
  • 20 个 Laravel Eloquent 必备的实用技巧

    摘要:看起来是一个简单的机制,但是在底层,有很多半隐藏的函数和鲜为人知的方式来实现更多功能。在这篇文章中,我将演示几个小技巧。另外,在里也有些和时间相关的预定义方法通过关系排序一个复杂一点的技巧。幸运的是,确实有这样的方法。 showImg(https://segmentfault.com/img/bV8L5s?w=1240&h=634); Eloquent ORM 看起来是一个简单的机制,...

    clasnake 评论0 收藏0
  • Angular(03)-- lint风格规范和WebStorm小技巧

    摘要:空格空格设置路径格式化操作时,会自动在比如方法的右括号前,赋值语句的等号两侧等等这些位置自动加上一个空格,如果我们写代码时漏掉这些空格时。这样,就方便我对别人的代码也直接通过格式化操作来自动进行风格规范处理。在开始讲 Angular 各个核心知识点之前,想先来讲讲开发工具 WebStorm 的一些配置以及相应配置文件如 tslint.json 的配置。 因为我个人比较注重代码规范、代码风格,...

    番茄西红柿 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<