十一、PHP框架Laravel学习笔记——构造器的查询.分块.聚合
一.构造器查询
- table()方法引入相应的表,get()方法可以查询当前表的所有数据;
//获取全部结果
$users = DB::table('users')->get();
- first()方法,可以获取到第一条数据;
//获取第一条数据
$users = DB::table('users')->first();
- value(字段名)方法,可以获取到第一条数据的指定字段的值;
//获取第一条数据的 email 字段值
$users = DB::table('users')->value('email');
- find(id)方法,可以获取指定 id 的一条数据;
//通过 id 获取指定一条数据
$users = DB::table('users')->find(20);
- pluck(字段名)可以获取所有数据单列值的集合;
//获取单列值的集合
$users = DB::table('users')->pluck('username');
$users = DB::table('users')->pluck('username', 'email');
二.分块.聚合
- 如果你一次性处理成千上万条记录,防止读取出错,可以使用 chunk()方法;
//切割分块执行,每次读取 3 条,id 排序;
DB::table('users')->orderBy('id')->chunk(3, function ($users) { foreach ($users as $user) { echo $user->username; }echo '------<br>'; });
- 构造器查询提供了:count()、max()、min()、avg()和 sum()聚合查询;
//聚合查询 return DB::table('users')->count(); return DB::table('users')->max('price'); return DB::table('users')->avg('price');
- 构造器查询两个判断记录是否存在的方法:exists()和 doesntexists()方法;
//判断是否存在
return DB::table('users')->where('id', 19)->exists();
return DB::table('users')->where('id', 18)->doesntExist();
PS:这里 DB::第一个使用静态,返回查询对象,然后使用->where 等各种查询方法,这些查询方法返回的还是查询对象,所以可以继续连缀操作。最后当遇到比如 get()返回结果等方法时,停止连缀。所以,返回结果必须放在最后。
十一、PHP框架Laravel学习笔记——构造器的查询.分块.聚合相关推荐
- 十二、PHP框架Laravel学习笔记——构造器的查询表达式
一.select 查询 select()方法可以制定你想要的列,而不是所有列: //设置显示的列,设置列别名 $users = DB::table('users')->select('usern ...
- 十六、PHP框架Laravel学习笔记——构造器的增删改
一.增删改操作 使用 insert()方法可以新增一条或多条记录: //新增一条记录 DB::table('users')->insert([ 'username' => '李白', 'p ...
- 十五、PHP框架Laravel学习笔记——构造器的 join 查询
一.join 查询 使用 join 实现内联接的多表查询,比如三张表进行 inner join 查询: $users = DB::table('users') ->join('books', ' ...
- 十四、PHP框架Laravel学习笔记——构造器的排序分组、子查询
一.排序分组 使用 whereColumn()方法实现两个字段相等的查询结果: //判断两个相等的字段,同样支持 orWhereColumn() //支持符号'create_time','>', ...
- 十三、PHP框架Laravel学习笔记——构造器的 where 派生查询
一.where 派生查询 orWhere()方法,可以通过连缀实现两个或以上的 or 条件查询: //where() + orWhere 实现 or 条件查询 $users = DB::table(' ...
- 二十一、PHP框架Laravel学习笔记——模型的访问器和修改器
一.访问器 访问器:就是在获取数据列表时,拦截属性并对属性进行修改的过程: 比如,我们在输出性别时,在性别左右加上括号,或给邮件转换为大写: //访问器,前固定 get,后固定 Attribute,G ...
- 十七、PHP框架Laravel学习笔记——模型的定义
一.默认设置 框架可以使用 Eloquent ORM 进行数据库交互,也就是关系对象模型: 在数据库入门阶段,我们已经创建了一个 User.php 模型,如下: php artisan make:mo ...
- 十、PHP框架Laravel学习笔记——数据库配置入门
一.配置数据库 框架支持原生.查询构造器和 Eloquent ORM(关系型对象映射器)来操作数据库: 数据库的配置在 config/database.php,如果是本地可以直接配置.env 文件: ...
- 七、PHP框架Laravel学习笔记——资源控制器
一.资源控制器 声明:资源控制器是某个特定场景下的产物,完全理解需要 PHP 项目基础: 比如开发过博客系统,留言帖子系统之类,具有类似思维,否则你懂的-: 只是学习了 PHP 基础,就立刻学习框架的 ...
最新文章
- mysql 7.4_CentOS 7.4 64位/ mysql
- 如何在Author中加载SDE栅格图层?
- 文件、格式-【Cocos2D-X 】初窥门径(10)解决中文乱码-by小雨
- java23种模式之单例模式
- IE与Mozila FireFox 中的 JS
- 19-chgrp命令
- python检验阿姆斯特朗数_python 之九九乘法表,润年,奇偶数,阿姆斯特朗数判断分享...
- 漫步最优化七——介绍
- CSS3 多列布局列的填充方式column-fill属性
- C#中的as和is的使用方法
- bugscan泄露代码解密
- 数据库双机热备(代码实现)
- AcWing 840. 模拟散列表(散列hash)
- java 反射 构造器_Java之类的构造器(反射)
- Java语言程序设计 基础篇 原书第10版梁勇著 课后编程练习题答案1
- CAN通讯、CAN协议、UDS
- Excel 用函数自定义验证数据的有效性
- Python量化交易平台开发教程系列4-事件驱动引擎原理和使用
- Androd Camera Yuv Jepg bmp
- sqlserver中计算日期差
热门文章
- 面试之 Redis汇总
- 光源时间_缩短背光源的使用寿命的原因
- Java笔记13-兄弟连在线考试系统
- 【Python】最新Python学习路线(完整详细版,含整套教程)
- 计算机基础的函数公式,大学计算机基础 excle 公式与函数
- Linux(Ubuntu 19.10)下 Qt5 连接 MySQL(QMYSQL driver not loaded)
- 小程序 ajax 加载,小程序实战-小程序网络请求异步加载
- android string数组转json_移动端开发基础【20】pages.json的配置项pages
- appium+python自动化项目实战(二):项目工程结构
- laravel 服务提供者