一.数据集合

  1. 数据集合,就是已经将模型方法 get()获取到的数据再进行处理;
  2. 比如:map()方法,通过它可以实现类似访问器一样对字段进行处理的效果;
    $users = User::get();
//使用集合方法 map 可以对输出的字段进行过滤
$women = $users->map(function ($user) { $user->email = strtoupper($user->email); return $user;});
return [$women];

PS:数据集合支持连缀操作,和数据库连缀一样;


  1. 使用 reject()方法,可以获取条件之外的数据内容;
$women = $users->reject(function ($user) {return $user->gender != '女';
})->map(function ($user) { return $user;
});

  1. 下面列出常用的集合方法列表:
    //判断集合中是否包含指定的模型实例
return $users->contains(19);

return $users->contains(User::find(19));

//返回不在集合中的所有模型

return $users->diff(User::whereIn('id', [19,20,21])->get());

//返回给定主键外的所有模型

return $users->except([19,20,21]);

//集合也有 find 方法

return $users->find(19);

//返回集合的数量

return $users->count();

//返回所有模型的主键

return $users->modelKeys();

//返回主键的所有模型

return $users->only([19,20,21]);

//返回集合中的唯一模型

return $users->unique();

二十四、PHP框架Laravel学习笔记——模型的数据集合相关推荐

  1. 二十、PHP框架Laravel学习笔记——模型的作用域

    一.本地作用域 很多情况下,我们在数据查找时有一部分条件会被重复且大量使用: 而这个条件,可能只是在这个模型对应的数据表使用,别的表并不使用: 那么这种情况,可以使用本地作用域的方式,将常用的 SQL ...

  2. 二十七、PHP框架Laravel学习笔记——模型的多对多关联

    二.多对多关联 多对多关联,比前面两种要复杂一些,需要一张中间表,共三张: (1) .users:用户表: (2) .roles:权限表: (3) .role_user:中间表:默认表名,user_i ...

  3. 三十、PHP框架Laravel学习笔记——模型的预加载

    一.预加载 预加载,就是解决关联查询中产生的 N+1 次查询带来的资源消耗 我们要获取所有书籍的作者(或拥有者),普通查询方案如下: //获取所有书籍列表 $books = Book::all(); ...

  4. 二十一、PHP框架Laravel学习笔记——模型的访问器和修改器

    一.访问器 访问器:就是在获取数据列表时,拦截属性并对属性进行修改的过程: 比如,我们在输出性别时,在性别左右加上括号,或给邮件转换为大写: //访问器,前固定 get,后固定 Attribute,G ...

  5. 二十八、PHP框架Laravel学习笔记——模型的关联查询

    二.关联查询 前几篇博文,了解了三种基础的关联模型,并简单的进行查询: 本节课,我们详细的了解更多的查询方案: //下面两种查询是一样的: $books = User::find(19)->bo ...

  6. 二十六、PHP框架Laravel学习笔记——模型的一对多关联

    二.一对多关联 一对多关联,本质上使用方法和一对一关联类似,内部实现略有不同: 创建另一个模型:book.php,我们看下这个表数据: PS:这里 user_id=19 有三个,也就是蜡笔小新有三本书 ...

  7. 二十五、PHP框架Laravel学习笔记——模型的一对一关联

    一.关联概念 关联模型,即:两张或以上的表进行一定规则的绑定关联: 比如:一个学生(学生表)对应一张个人信息卡(信息表),这种就是一对一: 再比如:一篇博文(帖子表)对应多个评论(评论表),这种就是一 ...

  8. 十、PHP框架Laravel学习笔记——数据库配置入门

    一.配置数据库 框架支持原生.查询构造器和 Eloquent ORM(关系型对象映射器)来操作数据库: 数据库的配置在 config/database.php,如果是本地可以直接配置.env 文件: ...

  9. 二十三、PHP框架Laravel学习笔记——集合的常用方法

    一.常用方法 all()方法,转换为属性形式输出,使用 dd 方法看类型: $collection = collect([1, 2, 2, 3, 4, 4, 4]); dd($collection-& ...

最新文章

  1. 一个简单的synchronized多线程问题、梳理与思考
  2. HttpContext.Current.Cache vs. HttpRuntime.Cache
  3. python中import os_python import osgeo.gdal出错
  4. 福州公交车与拖拉机相撞1人死亡
  5. oracle 如何创建游标,Oracle--plsql游标创建和使用
  6. 使用UMDH查找内存泄漏
  7. python编写程序题目_让我们一起来写python程序,做些简单的题目
  8. push指令的执行过程
  9. python中的缩进是长度统一吗_python缩进长度是否统一
  10. angular访问后台服务及监控会话超时的封装实现
  11. 一位原码的乘法规则_原码一位乘法的实现算法
  12. oracel的安装和卸载
  13. Spire.Office for Java 7.5.4
  14. 个人用户永久免费,可自动升级版Excel插件,使用VSTO开发,Excel催化剂功能第10波-快速排列工作表图形对象...
  15. 深入Vue底层,手写一个vuex
  16. 【环信IM集成指南】Web端常见问题整理
  17. 《Javascript高级程序设计》--读书笔记(一)
  18. 索尼笔记本 触摸屏 fn 快捷键处理
  19. 爬取百度贴吧---迪丽热巴吧网页并保存爬取下来的网页在本地
  20. SpringBoot集成security(1)|(security入门)

热门文章

  1. Python 第三方模块之 psutil - 获取系统运行的进程和系统利用率信息
  2. Storm的通信机制
  3. 执行Hive语句报错:FAILED: Error in metadata: javax.jdo.JDOFatalDataStoreException: Access denied for user '
  4. C++ 虚函数经典深入解析
  5. C++ Vector 汇总
  6. 网络:TCP通讯之 time_wait 状态
  7. 嵌入式Linux系统的构成和启动总结
  8. 关于ASCII字符的那些事儿
  9. 校内模拟赛 Zbq's Music Challenge
  10. uva 133解题报告