批改状态:合格
老师批语:返回的结果类型一定要注意
获取到满足查询条件的所有数据,返回的是一个对象集合
$data = DB::table('admin')->limit(2)->get();echo '<pre>';print_r($data);

方法中传入参数,可以指定获取哪些字段
$data = DB::table('admin')->limit(2)->get(['username','email']);echo '<pre>';print_r($data);

获取到满足查询条件的第一条数据(也因为只返回一条数据,所以返回的是一个对象,而不是对象集合)
$data = DB::table('admin')->first();echo '<pre>';print_r($data);

传入参数,也能指定返回某些字段
// 当只有一个字段时,可以省略中括号$data = DB::table('admin')->first('id');当不只一个字段时,必须以数组的方式指定字段$data = DB::table('admin')->first(['id','username']);echo '<pre>';print_r($data);
当然可以结合 where 等语句来书写查询条件
$data = DB::table('admin')->where('uid',1)->first(['id','username']);echo '<pre>';print_r($data);

获取某个字段的值,此方法也只会返回满足条件的第一条记录,不同之处在于不会返回对象,返回的直接是字段的值
$data = DB::table('users')->where('uid',1)->value('username');echo '<pre>';print_r($data);

根据指定的 id 返回一条数据 ,返回的当然是一个对象
$data = DB::table('admin')->find(2);echo '<pre>';print_r($data);

传入第二个参数,也可以指定返回字段
$data = DB::table('admin')->find(2,['username','email']);echo '<pre>';print_r($data);

返回数据表中单列值的集合对象
当只有一个参数时,对象中 items 属性对应的数组是一个索引数组,从0开始
$data = DB::table('admin')->pluck('username');echo '<pre>';print_r($data);

当传入第二个参数时,可以将数组转为关联数组,可使用数据表中的另一字段来表示数组的键名
$data = DB::table('admin')->pluck('username','email');echo '<pre>';print_r($data);

当然,在实际开发中,多会使用主键id来表示键名
$data = DB::table('users')->pluck('username','id');echo '<pre>';print_r($data);

求字段的最大值
$data = DB::table('admin')->max('age');var_dump($data);

求字段的最小值
$data = DB::table('admin')->min('age');var_dump($data);
求字段的平均值,返回的值会转为字符串类型
$data = DB::table('admin')->avg('uid');var_dump($data);

求字段的值的总和,返回的值也会转为字符串类型
$data = DB::table('admin')->sum('age');var_dump($data);

计算记录总数量,返回的是整型int
实际上count() 方法默认是计算的所有,即 count('*'),你也可以指定其他字段,比如:count('id')、count('age'),但是效果都是一样的,执行效率上讲,也是差不多的,所以直接使用count()即可
$data = DB::table('admin')->count();
计算符合某个查询条件的记录总数量:
$data = DB::table('admin')->where('uid',1)->count();
插入数据到数据表,注意是使用数组的方式,如果是多条插入,使用二维数组
插入一条记录:
public function insert(){$data = DB::table('admin')->insert(['username'=>'小明','password'=>md5(35453),'age'=>23,'email'=>'xiaoming@qq.com',]);var_dump($data);}

插入多条记录:
public function insert(){$data = [['username'=>'小黄','password'=>md5('drts'),'age'=>21,'email'=>'xiaohuang@qq.com'],['username'=>'小刘','password'=>md5('fghj'),'age'=>25,'email'=>'xiaoliu@qq.com'],['username'=>'小张','password'=>md5('gfhut'),'age'=>32,'email'=>'xiaozhang@qq.com'],];$res = DB::table('admin')->insert($data);var_dump($res);}

更新数据,一定要指定更新条件
更新某一列的值:
public function update(){$data = DB::table('admin')->where('isupdate',null)->update(['isupdate'=>'yes']);var_dump($data);}

更新指定数据的字段值:
public function update(){$data = DB::table('admin')->where('id',12)->update(['username'=>'我换名字了','email'=>'换邮箱了',]);var_dump($data);}

删除数据,一定要指定删除条件
delete()函数也可以传参,参数是id,所以当我们要根据id删除时,可以不使用where来增加查询条件,但是要根据指定的其他字段删除时,就需要where了
根据id删除数据:
public function delete(){$data = DB::table('admin')->delete(15);var_dump($data);}
根据其他字段删除数据:
$data = DB::table('admin')->where('username','小黄')->delete();
删除多条数据:
$data = DB::table('admin')->where('id','>=','12')->delete();
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号