- 构造器查询
- table()方法是引入响应的表,get()方法可以查询当前表的所有数据:
//获取全部结果
$users = \DB::table(‘创建的表名’)->get();
b. first()方法,可以获取到第一条数据:
//获取第一条数据
$users = \DB::table(‘创建的表名’)->first();
c. value(字段名)方法, 可以获取到第一条数据的指定字段的值:
//获取第一条数据的email字段值
$users = \DB::table(‘创建的表名’)->value(‘email’);
d. find(id)方法,可以获取指定id的一条数据:
//通过id获取指定一条数据id:20
$users = \DB::table(‘创建的表名’)->find(20);
e. pluck(字段名)可以获取所有数据单列值的集合,如果有第二个参数,那么第二个参数将是第一个参数的key
//获取单列值的集合
$users = \DB::table(‘创建的表名’)->pluck(‘email’);
$users = \DB::table(‘创建的表名’)->pluck(‘email’,’id’);
- 分块.聚合
- 如果你一次性处理成千上万条记录,防止读取出错,可以使用chunk()方法:
//切割分块执行,每次读取3条,id排序
\DB::table(‘创建的表名’)->orderBy(‘字段名’, “desc(这个可以选填,意思是倒叙)”)->chunk(1,function($users){
foreach ($users as $user){
echo $user->email;
};
echo ‘—-
‘;
});
b. 构造器查询提供了:count(), max(), min(), avg()和sum()聚合查询:
//聚合查询 count()获取有多少条记录,max()最大值,min()最小值,avg()平均值,sum()总和值
return \DB::table(‘创建的表名’)->count();
return \DB::table(创建的表名)->avg(‘字段名(数据类型)’);
return \DB::table(‘创建的表名’)->max(‘字段名(数据类型)’);
return \DB::table(‘创建的表名’)->min(‘字段名(数据类型)’);
return \DB::table(‘创建的表名’)->sum(‘字段名(数据类型)’);
c. 构造器查询两个判断记录是否存在的方法:exists()和doesntexists()方法
//判断是否存在
return [\DB::table(‘创建的表名’)->where(‘id’, 20)->exists()]; //有查询到数据返回true
return [\DB::table(‘创建的表名’)->where(‘id’, 19)->doesntExist()]; //没有查询到数据返回true
PS: 这里DB::第一个使用静态,返回查询对象,然后使用->where等各种查询方法,这些查询方法返回的还是查询对象,所以可以继续连缀操作。
最后当遇到比如get()返回结果等方法时,停止连缀。所以,返回结果必须放在最后。