相关文章推荐
谦逊的电脑桌  ·  PropertyInfo 類別 ...·  2 周前    · 
强健的乌冬面  ·  error msg = ora-00933 ...·  1 年前    · 
面冷心慈的草稿纸  ·  Java ...·  1 年前    · 
爱旅游的红茶  ·  syntax error - ...·  1 年前    · 
* @return \Illuminate\Support\Collection | static public function map ( callable $callback ) $result = parent::map ( $callback ) ; return $result - > contains ( function ( $item ) { return ! $item instanceof Model ; } ) ? $result - > toBase ( ) : $result ; // 其中 parent::map ( $callback ) ; * Run a map over each of the items. * @param callable $callback * @return static public function map ( callable $callback ) $keys = array_keys ( $this - > items ) ; $items = array_map ( $callback , $this - > items, $keys ) ; return new static ( array_combine ( $keys , $items )) ; // Creates an array by using one array for keys and another for its values function array_combine ( array $keys , array $values ) { }

从中可以看出,map返回一个新的集合,其中的值为回调函数处理过后的数据

Each()

* Execute a callback over each item. * @param callable $callback * @return $this public function each ( callable $callback ) foreach ( $this as $key = > $item ) { if ( $callback ( $item , $key ) == = false ) { break ; return $this ;

而each返回的还是原集合,只是以遍历的形式对原集合进行回调函数中的处理,

由上可以看出, each()通常用在循环操作,map()用在集合数据格式转换

两者都是对集合进行遍历处理Map() /** * Run a map over each of the items. * * @param callable $callback * @return \Illuminate\Support\Collection|static */ public function map(callable $callback) { $result = parent::map($cal 数据集合,就是已经将模型方法 get()获取到的数据再进行处理; 比如: map ()方法,通过它可以实现类似访问器一样对字段进行处理的效果; $users = User::get(); //使用集合方法 map 可以对输出的字段进行过滤 $women = $users-> map (function ($user) { $user->email = strtoupper($user->email); return $user; //以下数据遍历第一次的时候,修改$item新增属性node_type,会影响第二次编辑的$item中也会node_type属性 $collect-> map (function($item){ $item->node_type=$item->type... 集合是一个很好用的数据类型,在 PHP 中我们常常使用数组来处理数据,而 laravel 提供了许多集合封装好的方法来处理数据,许多数组做不到或者处理比较繁琐的,集合却可以轻易做到,可以让我们少些一些处理数据的方法。 使用方法: collect() 创建集合 辅助函数 collect 为给定数组返回一个新的 Illuminate\Support\Collection 实例 $collection = collect([ 'user_id' => '1', $corner_mark = []; $corner_mark_id = 0; $model->cornerMark->each(function ($relationValue) use (&$corner_mark, &$corner_mark_id) { composer create-project laravel / laravel 项目文件夹名 --prefer-dist 二、领导:简单的给我介绍一下这些主要目录及文件的意思吧! app:应用程序的核心代码 bootstrap:一个引导框架的app.php文件,一个cache目录(包含路由及缓存文件),框架启动文件,一般情况不动。 config:所有配置文件 database:其中
最近PHP 版本升级了7.4,之后用composer下载 Laravel ,发现已经更新到8了,然后就试下看着文档操作,看看有啥不一样! 官方文档重点说了 Laravel Jetstream,这是一个UI 的脚手架。一般情况下,如果我需要写前端,我会单独分开写的,不会用到 Laravel 的脚手架,包括那个资源整合Mix,也不用,所以这个更新其实对我影响不大!忽略 写法上,暂时发现有些地方有变化 以前写法: Route::get('/', 'HomeController@ind...
laravel 5.5对collection进行了大力的加持,时刻保持自己获取到的数据的类型是collection 而非array是很明智的选择 所以Collection each 函数就会经常用到了 The each method iterates over the items in the colle...