Laravel 5.1 文档攻略 —— Eloquent Collection
简介
像all()和get(),还有一些处理模型关系这种会返回多条数据的方法,在Eloquent里面会返回一个collection对象集合(对象装在对象里),而不是像DQB的数组结果集合(对象装在数组里)。Collection其实前面已经讲过了,它是在数据查询出来后,提供了一系列处理数据的方法,非常强大实用。
首先,所有的collection都可以遍历:
$users = App\User::where('active', 1)->get();
foreach ($users as $user) {
echo $user->name;
}
但是,collection的能力远远不止于此,非常强大,例如:
$users = App\User::all();
$names = $users->reject(function ($user) {
return $user->active === false;
})
->map(function ($user) {
return $user->name;
});
这段代码把所有非激活状态的用户去除,并把剩余用户的名字列出来;
Collection 方法
请参考官网。
在模型中自定义Collection
主要方法是覆盖newCollection()
方法:
namespace App;
use App\CustomCollection;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
public function newCollection(array $models = [])
{
return new CustomCollection($models);
}
}
`
CustomCollection()就是你自定义的一个类;在里面你可以组织返回collection的内容;
目前这个方法只是对Usermodel适用,如果你想对所有适用,可以把覆盖方法放到一个所有模型都继承的基类中去。
转载于:https://www.cnblogs.com/isykw/p/6151740.html
Laravel 5.1 文档攻略 —— Eloquent Collection相关推荐
- Laravel 5.1 文档攻略 —— Eloquent:模型关系
简介 其实大家都知道,数据表之间都是可以关联的,前面讲过了,Eloquent ORM是数据模型操作代替表操作,那么表的关联查询,在Eloquent这里也就是模型间的关联查询,这就是本章的主要内容: E ...
- Laravel 5.1 文档攻略——Laravel Eloquent ORM最强大也是最难理解的部分:数据关系...
简介 其实大家都知道,数据表之间都是可以关联的,Eloquent ORM是数据模型操作代替表操作,那么表的关联查询,在Eloquent这里也就是模型间的关联查询,这就是本章的主要内容: Eloquen ...
- 软文写作攻略:教育行业软文怎么写?
各位朋友们大家好!今天云媒易又来给大家分享软文推广的干货知识啦!本篇咱们要给大家分享的内容是"软文写作攻略:教育行业软文怎么写?". 软文,就是指通告语言.文字的表达方式去说服消费 ...
- [ Laravel 5.5 文档 ] 快速入门 —— 使用 Laragon 在 Windows 中搭建 Laravel 开发环境
简介 之前学院君陆续写了三篇介绍 Laravel 开发环境的教程:Homestead.Valet 和 LaraDock,我都是在 Mac 系统中安装使用的,相当流畅,没有任何梗,但是对于那些使用 Wi ...
- Laravel生成Word文档 - phpword
工作中常常会遇到数据导出功能,比如把数据导出成word.docx文档.那么用Laravel如何实现呢. 今天给大家介绍一下phpword的使用,它可以很方便的实现word文档的生成,同时可以在word ...
- laravel接口 接口文档
接口 先在控制器里写一个接口的方法 之所以写了两个方法 因为写接口单独创建一个控制器比较好 避免与页面展示冲突 // 展示页面 配合城市接口执行public function cityshow() ...
- laravel入门学习文档
laravle总结 一丶安装1.首先安装compser.2.安装好compser后在cmd命令中输入compser出现 就安装成功了! 3.安装php的环境(自己用的是phpstudy,php环境安装 ...
- 获取更全面的软文写作攻略
软文顾名思义是相对于硬性广告而言,由企业的市场策划人员或广告公司的文案人员来负责撰写的"文字广告".与硬广告相比,软文之所以叫做软文,精妙之处就在于一个"软"字 ...
- Redis分布式锁一文全攻略
分布式锁概念 分布式锁其实就是,控制分布式系统的不同进程共同访问共享资源的一种锁的实现.如果不同系统或同一个系统的不同主机去访问一个共享的临界资源,往往需要互斥来防止彼此干扰,以保证一致性. 分布式锁 ...
- laravel 常用文档
[ Laravel 5.6 文档 ] 快速入门 -- 目录结构 laravel学院 http://laravelacademy.org/post/8657.html Laravel 的缓存系统 ...
最新文章
- webstorm设置点击(单击)左侧项目资源管理器里面的文件,自动在右侧打开源代码文件
- 【学习笔记】供应链金融简介(精华)
- systemctl与mysql多实例_mysql mariadb 多版本多实例 开机启动
- java设计模式演示样例
- php中括号的优先级是不是最高的,理解php中操作符的优先级和结合性
- XSS-Game level 13
- Spring-context-ConfigurationClassBeanDefinitionReader类
- session的保存方式.
- 谷歌浏览器的前端代码调试
- Android 跟 ios 测试有什么区别
- Android SVG矢量图形打造中国地图
- 千月影视全新改版影视app系统-支持投屏-二开美化版
- 有赞实时数仓建设实践与经验
- 过拟合与欠拟合的生动理解
- 相机和雷达外参联合标定
- Opencv基础使用3——HDR 图像合成
- 【无浪】自己用C++实现的零游戏的战斗(半成品)
- 超级壁纸android,【教程】MIUI最新超级壁纸安卓全机型安装指南
- 【多线程常见面试题】
- 度娘果然毫无节操,纯粹就是order by 广告费 desc