1. laravel查询构造器方法
1.0.1 获取第一条数据: first()
//默认查询全部字段
$users = DB::table('users')->first();
//只返回username和email字段(数组表示)
$users = DB::table('users')->first(['username','email']);
1.0.2 获取全部结果/转为数组: get()
toArray()
//默认查询全部字段-对象
$users = DB::table('users')->get();
//只返回username和email字段
$users = DB::table('users')->get(['username','email']);
//转为数组
$users = DB::table('users')->get()->toArray();
1.0.3 获取第一条数据的(某个字段)字段值: value()
$users = DB::table('users')->value('email');
1.0.4 获取单列值的集合: pluck(值)
pluck(值,键)
//键为索引数组
$users = DB::table('users')->pluck('username');
//指定email为键名
$users = DB::table('users')->pluck('username', 'email');
1.0.5 通过 id 获取指定一条数据: find()
$users = DB::table('users')->find(20);
1.0.6 设置查询条件: where
//默认为等于
$users = DB::table('users')->where('id', 19)->get();
//操作符:>、 <、 >=、 <=、 <>、 like 等
$users = DB::table('users')->where('age', '>=', 25)->get();
$users = DB::table('users')->where('username', 'like', '%小%')->get();
//多条件可以用数组
$users = DB::table('users')->where([
'age' => 25,
'gender' => '男'
])->get();
//如果条件非等于
$users = DB::table('users')->where([
['age', '>=', 25],
['gender', '=', '男']
])->get();
1.0.7 返回指定记录数: limit()
$users = DB::table('users')->limit(5)->get();
1.0.8 新增记录: insert()
//新增一条记录
DB::table('users')->insert([
'username' => '李白',
'password' => '123456',
'email' => 'libai@php.cn',
]);
//新增多条记录
DB::table('users')->insert([
[...],
[...]
]);
1.0.9 新增记录(返回新增后ID): insertGetId()
//新增一条记录
DB::table('users')->insertGetId([
'username' => '李白',
'password' => '123456',
'email' => 'libai@php.cn',
]);
1.1.0 更新修改一条数据: update()
//更新修改一条数据
DB::table('users')->where('id', 2202)->update([
'username' => '果冻',
'email' => 'guodong@php.cn'
]);
1.1.1 存在修改,不存在就新增: updateOrInsert()
//参数 1:修改的条件
//参数 2:修改的内容(新增的内容)
DB::table('users')->updateOrInsert(
['id'=>2202],
['username'=>'洪海', 'password'=>'123456']
);
1.1.2 删除改一条数据: delete()
//默认索引
DB::table('users')->delete(2202);
//指定ID
DB::table('users')->where('id', 2202)->delete();
使用 delete()删除数据, 一定要加上 where 条件, 否则数据会被清空
1.1.3 设置显示的字段/设置字段别名: select()
//只显示username和email字段
$users = DB::table('users')->select('username', 'email')->get();
//设置username别名为name
$users = DB::table('users')->select('username as name', 'email')->get();
2 聚合查询
//max()
return DB::table('users')->max('age');
//min()
return DB::table('users')->min('age');
//avg()
return DB::table('users')->avg('age');
//sum()
return DB::table('users')->sum('age');
//count()
return DB::table('users')->count();
count(*)函数不指定字段和指定字段查询效率没有区别,因为它只统计总的记录数。
总结
- 对课堂内容结合手册将查询构造器方法与聚合函数进行了练习