Laravel 框架的基本使用4

100 阅读2分钟

构造器的查询,分块,聚合

构造器查询

a. 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');

分块.聚合

a. 如果你一次性处理成千上万条记录,防止读取出错,可以使用chunk()方法:

//切割分块执行,每次读取3条,id排序

\DB::table('创建的表名')->orderBy('字段名'"desc(这个可以选填,意思是倒叙)")->chunk(3,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()返回结果等方法时,停止连缀。所以,返回结果必须放在最后。