$names=User::all()->reject(function(User$user){ return$user->active===false; })->map(function(User$user){ return$user->name; }); Eloquent 集合转换 在大多数 Eloquent 集合方法返回一个新的 Eloquent 集合实例的前提下,collapse,flatten,flip,keys,pluck,以及zip方法返回一个基础集合类的实例。
map 方法会遍历集合,将每个元素传入一个闭包函数,该闭包函数的返回值将替换原来的元素值。 我们创建一个由名字组成的集合,并使用 map 方法返回一个由对应名字长度组成的集合。 /** * map function iterates a collection through a callback * function and performs an operation on each value. */publicfuncti...
在app/Providers/RouteServiceProvider.php 的 map 方法中可以如下定义: publicfunctionmap(Router$router){$this->mapApiRoutes();$this->mapWebRoutes();$this->mapAdminRoutes();}protectedfunctionmapAdminRoutes(){Route::group(['prefix'=>'/admin','middleware'=>'admin','namespace'=>'App\Http\Control...
* @param array $columns * @return \Illuminate\Database\Eloquent\Model|\Illuminate\Database\Eloquent\Collection|static[]|static|null */ public function find($id, $columns = ['*']) { if (is_array($id) || $id instanceof Arrayable) { return $this->findMany($id, $columns); } return ...
use Illuminate\Database\Eloquent\Model; class Contact extends Model{} 1. 2. 3. 示例8-11 最简单的Eloquent模型实现的操作 public function save(Request $request){ $contact = new Contact(); $contact->first_name = $request->input('first_name'); ...
在所有模型都要继承的 laravel/framework/src/Illuminate/Database/Eloquent/Model.php 类中,我们很快就能发现一个 query() 静态方法。一路向下追踪,你马上就会发现它最后会调用到一个 newBaseQueryBuilder() 方法。 代码语言:javascript 代码运行次数:0
*/ public function user() { return $this->belongsTo('App\User', 'foreign_key', 'other_key'); }一对多#一个「一对多」关联用于定义单个模型拥有任意数量的其它关联模型。例如,一篇博客文章可能会有无限多个评论。就像其它的 Eloquent 关联一样,可以通过在 Eloquent 模型中写一个函数来定义一对多关联:...
publicfunctiongetModels($columns=['*']){//$this->model 为 User model对象(创建EloquentBuilder时设置的)return$this->model->hydrate(//$this->query 是 QueryBuilder 对象//这里去掉 QueryBuilder 的get方法,返回结果集$this->query->get($columns)->all())->all();}...publicfunctionhydrate(array...
$sum=$collection->filter(function($item){return$item%2==0;})->map(function($item){return$item*10;})->sum();是不是比写foreach循环操作数组流畅直观的多了?虽然eloquent collection继承了基类Collection的特性,但是对于模型类的特性 有许多独特的方法。比如 modelKeys() 返回所有集合模型的primary key。
->map(function($user){return$user->name; }); Available Methods The Base Collection All Eloquent collections extend the baseLaravel collectionobject; therefore, they inherit all of the powerful methods provided by the base collection class: