学习查询构造器

  1. 链式查询单条数据方法 - first()

    1. public function item()
    2. {
    3. // 链式调用
    4. $res = DB::table('admin')->where(['ispasswd'=>0])->first(['id','username']);
    5. echo '<pre>';
    6. print_r($res);
    7. }

  2. 查询多条记录方法 - get()

    1. // 查询多条记录
    2. public function lists()
    3. {
    4. $res = DB::table('admin')->where('ispasswd',1)->get();
    5. $data = $res->toArray();
    6. echo '<pre>';
    7. print_r($data);
    8. }


    给 get() 方法里传参

    1. // 查询多条记录
    2. public function lists()
    3. {
    4. $res = DB::table('admin')->where('ispasswd',1)->get(['id','real_name']);
    5. $data = $res->toArray();
    6. echo '<pre>';
    7. print_r($data);
    8. }

  3. 查询构造器 - value()

    1. // 查询某一列的当前值
    2. public function val(){
    3. $res = DB::table('admin')->where(['ispasswd'=>1])->first(['real_name']);
    4. $res2 = DB::table('admin')->where('ispasswd',1)->value('real_name');
    5. echo '<pre>';
    6. print_r($res);
    7. print_r($res2);
    8. }

    first()与value()的区别

  4. 查询构造器 - pluck()

    1. public function pluck(){
    2. $res = DB::table('admin')->pluck('real_name');
    3. echo '<pre>';
    4. print_r($res);
    5. }


    pluck()与get()的区别

    1. public function pluck(){
    2. $res = DB::table('admin')->pluck('real_name');
    3. $res2 = DB::table('admin')->get('real_name');
    4. echo '<pre>';
    5. print_r($res);
    6. print_r($res2);
    7. }


    pluck()与value()类似亲兄弟

    1. public function pluck(){
    2. $res = DB::table('admin')->pluck('real_name');
    3. $res2 = DB::table('admin')->value('real_name');
    4. echo '<pre>';
    5. print_r($res);
    6. print_r($res2);
    7. }


    pluck()第二个参数可以替换索引下标

    1. public function pluck(){
    2. $res = DB::table('admin')->pluck('real_name');
    3. $res2 = DB::table('admin')->value('real_name');
    4. $res3 = DB::table('admin')->pluck('real_name','id');
    5. echo '<pre>';
    6. print_r($res);
    7. print_r($res2);
    8. print_r($res3);
    9. }

  5. 查询构造器 - insert()

    1. // 新增记录
    2. public function insert(){
    3. $res = DB::table('admin')->insert(['username'=>'xiaohu','password'=>'dfdfdfdf','ispasswd'=>1,'gid'=>3,'real_name'=>'胡哥']);
    4. var_dump($res);
    5. }



    插入数据并获取数据表主键id

    1. public function insert(){
    2. // $res = DB::table('admin')->insert(['username'=>'xiaohu','password'=>'dfdfdfdf','ispasswd'=>1,'gid'=>3,'real_name'=>'胡哥']);
    3. // var_dump($res);
    4. $data = ['username'=>'xiaohu2','password'=>'dfdfdfdfsss','ispasswd'=>1,'gid'=>2,'real_name'=>'胡哥2'];
    5. $res2 = DB::table('admin')->insertGetId($data);
    6. var_dump($res2);
    7. }


  6. 查询构造器 - update()

    1. // 更新记录
    2. public function update(){
    3. $res = DB::table('admin')->where('ispasswd',0)->update(['ispasswd'=>2]);
    4. var_dump($res);
    5. }



  7. 查询构造器 - delete()

    1. // 删除记录
    2. public function del(){
    3. $res = DB::table('admin')->where('id',6)->delete();
    4. var_dump($res);
    5. }



  8. 聚合查询 max、min、avg、sum 、count

    1. // 聚合查询
    2. public function juhe(){
    3. // 最大值
    4. $res = DB::table('admin')->max('gid');
    5. // 最小值
    6. $res2 = DB::table('admin')->min('gid');
    7. // 平均值
    8. $res3 = DB::table('admin')->avg('gid');
    9. // 求和
    10. $res4 = DB::table('admin')->sum('gid');
    11. // 记录总数
    12. $res5 = DB::table('admin')->where('gid',1)->count();
    13. var_dump($res);
    14. echo '<hr>';
    15. var_dump($res2);
    16. echo '<hr>';
    17. var_dump($res3);
    18. echo '<hr>';
    19. var_dump($res4);
    20. echo '<hr>';
    21. var_dump($res5);
    22. }

  9. where条件查询

    1. // where
    2. public function where(){
    3. $res = DB::table('admin')->where('gid','>',1)->get();
    4. echo '<pre>';
    5. print_r($res);
    6. }

总结

  • get()方法相比first()来说可以查询多条数据,可以通过参数获取相对应字段的集合,对象集合可以通过toArray()来获取数组
  • value()是获取到数据表中某个字段的值,返回的也只是一条数据,pluck()和value()相似,但它接收的是数组集合,pluck()第二个参数可以替换索引下标
  • insert()、update()、delete()作为链式查询中的增删改,返回的都是影响的行数结果
  • count()、sum()、max()、min()、avg()作为聚合查询,返回的是查询结果的类型和具体值

更多相关文章

  1. 顺丰快递单号查询API接口代码及流程【快递100API接口】
  2. 2.【商城后台管理系统】基于TP6开发后台管理界面渲染与无限级菜
  3. xml标签库标签-Request类-链式操作-博客实战分类搜索
  4. 数据库表达式查询 - 原生mysql查询 - 事务操作 - 翻页
  5. 【ThinkPHP框架】tp的视图标签、request请求、数据库链式查询等
  6. 接入超过100家快递物流查询API接口调用指南
  7. 快递公司如何接入快递100?快递100的快递查询订阅推送接口示例
  8. 快递公司如何接入快递100?快递100的快递实时查询接口示例
  9. 史上最全面MySQL数据库中DML查询语句SELECT详解(收藏)

随机推荐

  1. 使用Java语言如何实现快速文件复制?
  2. [源码和文档分享]基于java的RPG回合制游
  3. 工作中傻傻的错-2011/11
  4. 使用字符串参数调用AndroidJni静态方法。
  5. 在jasper中获取组部分报告API java
  6. 抢分啦!谁能帮我解决java的Socket的问题?
  7. JNI学习笔记(五)——fields和methods
  8. Java常量表达式相关的编译优化代码
  9. 请问JAVA求职英语水平的要求
  10. Java NIO 学习笔记(七)----NIO/IO 的对比和