学习查询构造器
链式查询单条数据方法 - first()
public function item()
{
// 链式调用
$res = DB::table('admin')->where(['ispasswd'=>0])->first(['id','username']);
echo '<pre>';
print_r($res);
}
查询多条记录方法 - get()
// 查询多条记录
public function lists()
{
$res = DB::table('admin')->where('ispasswd',1)->get();
$data = $res->toArray();
echo '<pre>';
print_r($data);
}
给 get() 方法里传参// 查询多条记录
public function lists()
{
$res = DB::table('admin')->where('ispasswd',1)->get(['id','real_name']);
$data = $res->toArray();
echo '<pre>';
print_r($data);
}
查询构造器 - value()
// 查询某一列的当前值
public function val(){
$res = DB::table('admin')->where(['ispasswd'=>1])->first(['real_name']);
$res2 = DB::table('admin')->where('ispasswd',1)->value('real_name');
echo '<pre>';
print_r($res);
print_r($res2);
}
first()与value()的区别
查询构造器 - pluck()
public function pluck(){
$res = DB::table('admin')->pluck('real_name');
echo '<pre>';
print_r($res);
}
pluck()与get()的区别public function pluck(){
$res = DB::table('admin')->pluck('real_name');
$res2 = DB::table('admin')->get('real_name');
echo '<pre>';
print_r($res);
print_r($res2);
}
pluck()与value()类似亲兄弟public function pluck(){
$res = DB::table('admin')->pluck('real_name');
$res2 = DB::table('admin')->value('real_name');
echo '<pre>';
print_r($res);
print_r($res2);
}
pluck()第二个参数可以替换索引下标public function pluck(){
$res = DB::table('admin')->pluck('real_name');
$res2 = DB::table('admin')->value('real_name');
$res3 = DB::table('admin')->pluck('real_name','id');
echo '<pre>';
print_r($res);
print_r($res2);
print_r($res3);
}
查询构造器 - insert()
// 新增记录
public function insert(){
$res = DB::table('admin')->insert(['username'=>'xiaohu','password'=>'dfdfdfdf','ispasswd'=>1,'gid'=>3,'real_name'=>'胡哥']);
var_dump($res);
}
插入数据并获取数据表主键idpublic function insert(){
// $res = DB::table('admin')->insert(['username'=>'xiaohu','password'=>'dfdfdfdf','ispasswd'=>1,'gid'=>3,'real_name'=>'胡哥']);
// var_dump($res);
$data = ['username'=>'xiaohu2','password'=>'dfdfdfdfsss','ispasswd'=>1,'gid'=>2,'real_name'=>'胡哥2'];
$res2 = DB::table('admin')->insertGetId($data);
var_dump($res2);
}
查询构造器 - update()
// 更新记录
public function update(){
$res = DB::table('admin')->where('ispasswd',0)->update(['ispasswd'=>2]);
var_dump($res);
}
查询构造器 - delete()
// 删除记录
public function del(){
$res = DB::table('admin')->where('id',6)->delete();
var_dump($res);
}
聚合查询 max、min、avg、sum 、count
// 聚合查询
public function juhe(){
// 最大值
$res = DB::table('admin')->max('gid');
// 最小值
$res2 = DB::table('admin')->min('gid');
// 平均值
$res3 = DB::table('admin')->avg('gid');
// 求和
$res4 = DB::table('admin')->sum('gid');
// 记录总数
$res5 = DB::table('admin')->where('gid',1)->count();
var_dump($res);
echo '<hr>';
var_dump($res2);
echo '<hr>';
var_dump($res3);
echo '<hr>';
var_dump($res4);
echo '<hr>';
var_dump($res5);
}
where条件查询
// where
public function where(){
$res = DB::table('admin')->where('gid','>',1)->get();
echo '<pre>';
print_r($res);
}
总结
- get()方法相比first()来说可以查询多条数据,可以通过参数获取相对应字段的集合,对象集合可以通过toArray()来获取数组
- value()是获取到数据表中某个字段的值,返回的也只是一条数据,pluck()和value()相似,但它接收的是数组集合,pluck()第二个参数可以替换索引下标
- insert()、update()、delete()作为链式查询中的增删改,返回的都是影响的行数结果
- count()、sum()、max()、min()、avg()作为聚合查询,返回的是查询结果的类型和具体值