博主信息
博文 2
粉丝 0
评论 0
访问量 1244
相关推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
5.23
Mandy
原创
651人浏览过

以实例演示:查询构造器中的10个最常用的方法
Table(),field(),order(),where(),limit(),insert(),insertAll(),update(),delete(),

以及如何获取自增主键和数据打包方法data()

以实例演示:查询构造器中的10个最常用的方法
Table(),field(),order(),where(),limit(),insert(),insertAll(),update(),delete(),

以及如何获取自增主键和数据打包方法data()

查询构造器中的10个最常用的方法    

Table(),    内写需要查询的表名,本例中为staff    

$res = Db::table('staff')

 ->field(['name'=>'姓名','sex'=>'性别','salary'=>'工资'])
 ->where('staff_id','>=',10)//where(字段,表达式,条件)
->find();
dump($res);

   

field(),    内写需要显示的列名,比如在本例中显示的是name,sex,salary,    

limit(),    

查询单条记录,方法名为find()

本例中的sql语句为:

SELECT `name` AS `姓名`,`sex` AS `性别`,`salary` AS `工资` FROM `staff` WHERE  `staff_id` >= 10 LIMIT 1

查询多条记录,方法名为select,


   

where()              

内写条件表达式,给查询设置符合预期查询的条件

本例中,要求员工id>=10

   

order(),    

内有两个参数,第一个是需要排序的列名,第二个是按照升序ASC

还是降序(DESC),

   public function select()
 {
  //查询多条记录
  $res = Db::table('staff')
      ->field(['name'=>'姓名','salary'=>'工资'])
   ->where('salary','>',3000)
   ->order('salary','DESC')
   ->limit(5)
   ->select();
  dump($res);
 }    

insert(),    插入单条记录    public function insert()
 {
  //新增单条记录:insert()
  $data = [
      'name' =>'胡一',
   'sex' => 0,
   'age' => 49,
   'salary' => 5300
  ];
  
  //$num = Db::table('staff')->insert($data);
  //$id = Db::getLastInsID();
  //return $num ? '添加成功,id='.$id :'没有记录被添加';
 
 //data($data)将要处理的数据打包$option[]
 //indertGetId() == insert() + getLastInsID()
 
 $id = Db::table('staff')->insertGetId($data);
 return $id ? '添加成功,id='.$id : '没有满足条件的记录';
   
 }    

insertAll(),    方法insertAll用于插入多条记录    //新增多条记录用:insert ALL()
 $data = [
     ['name'=>'张飞','sex'=>0,'age'=>48,'salary'=>6900],
     ['name'=>'刘备','sex'=>0,'age'=>58,'salary'=>4500],
     ['name'=>'关羽','sex'=>0,'age'=>53,'salary'=>4700],
 ];
  $num = Db::table('staff')->data($data)->insertAll($data);
  return $num ? '添加成功'.$num.'条记录~~' : '没有记录被添加被添加';    

update(),      1.更新操作必须是基于前置查询,不允许无条件更新
 2. 更新使用update,也是终极方法    

public function update()
 {
  //将工资<=4000的员工,加薪1000
  /* $num = Db::table('staff')
      ->where('salary','<=',5000)
      ->data(['salary'=> Db::raw('salary+1000')])
      ->update(); */
   
   $num = Db::table('staff')
     ->update(['sex'=>0,'staff_id'=>18]);
   
  return $num ? '更新成功'.$num.'条记录~~' : '没有记录被更新';

 }

   

delete(),    

 //删除也必须基于前置查询,不允许无条件删除
  //删除用delete方法

 //$num = Db::table('staff')->delete(true);//清空表

   

public function delete()
 { 
  $num = Db::table('staff')
  ->where('staff_id',16)
  ->delete();
  return $num ? '删除成功'.$num.'条记录~~' : '没有记录被删除';

}

   

获取自增主键方法    数据打包方法    

 $id = Db::table('staff')->insertGetId($data);

   data()    

data($data)将要处理的数据打包$option[]

indertGetId() == insert() + getLastInsID()

 $id = Db::table('staff')->insertGetId($data);

   



批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
  • 2018-05-26 16:53:10
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学