美文网首页
(laravel查询构造器)2020-04-08

(laravel查询构造器)2020-04-08

作者: 浪子游剑 | 来源:发表于2020-04-08 01:01 被阅读0次

    laravel查询构造器提供了方便流畅的接口,用来建立及执行数据库查找语法。使用了pdo参数绑定,使应用程序免于sql注入,因此传入的参数不需要额外转义特殊字符。基本上可以满足所有的数据库操作,而且在所有支持的数据库系统上都可以执行。

    1.使用查询构造器实现增删改查

    在控制器里测试以下代码:

    (1)新增

    $bool=DB::table("vipinfo")->insert(['vip_ID'=>6,'vip_name'=>'zls','vip_type'=>"出行",'vip_fenshu'=>800]);

    echo$bool; //返回bool值

    //如果想得到新增的id,则使用insertGetId方法

    $id=DB::table("vipinfo")->insertGetId(['vip_ID'=>5,'vip_name'=>'wyp','vip_type'=>"出行",'vip_fenshu'=>800]);

    echo$id;

    //插入多条数据

    $bool=DB::table("vipinfo")->insert([

    ['vip_ID'=>5,'vip_name'=>'wyp','vip_type'=>"出行",'vip_fenshu'=>800],

    ['vip_ID'=>6,'vip_name'=>'zls','vip_type'=>"出行",'vip_fenshu'=>800],

    ]);

    echo$bool; //返回bool值

    (2)修改

    $bool=DB::table("vipinfo")->where('vip_ID',6)->update(['vip_fenshu'=>500]);

    echo$bool;

    //自增

    $bool=DB::table("vipinfo")->where('vip_ID',6)->increment("vip_fenshu");//自增1

    $bool=DB::table("vipinfo")->where('vip_ID',6)->increment("vip_fenshu",3);//自增3

    echo$bool;

    //自减

    $bool=DB::table("vipinfo")->where('vip_ID',6)->decrement("vip_fenshu");//自1

    $bool=DB::table("vipinfo")->where('vip_ID',6)->decrement("vip_fenshu",3);//自增3

    echo$bool;

    //自增时再修改其他字段

    $bool=DB::table("vipinfo")->where('vip_ID',6)->increment("vip_fenshu",3,['vip_name'=>'dbdibi']);//自增3

    (3)删除

    $num=DB::table("vipinfo")->where('vip_ID',6)->delete();//删除1条

    $num=DB::table("vipinfo")->where('vip_ID','>',4)->delete();//删除多条

    echo$num; //删除的行数

    $num=DB::table("vipinfo")->truncate();//删除整表,不能恢复,谨慎使用

    (4)查询

    //get()返回多条数据

    $student=DB::table("vipinfo")->get();

    var_dump($student);

    //first()返回1条数据

    $student=DB::table("vipinfo")->first(); //结果集第一条记录

    $student=DB::table("vipinfo")->orderBy('vip_ID','desc')->first();//按vip_ID倒序排序

    var_dump($student);

    //where()条件查询

    $student=DB::table("vipinfo")->where('vip_ID','>=',2)->get(); //一个条件

    $student=DB::table("vipinfo")->whereRaw('vip_ID> ? and vip_fenshu >= ?',[2,300])->get(); //多个条件

    dd($student);

    //pluck()指定字段,后面不加get

    $student=DB::table("vipinfo")->pluck('vip_name');

    dd($student);

    //lists()指定字段,可以指定某个字段作为下标

    $student=DB::table("vipinfo")->lists('vip_name','vip_ID'); //指定vip_ID为下标

    dd($student);

    $student=DB::table("vipinfo")->lists('vip_name'); //不指定下标,默认下标从0开始

    //select()指定某个字段

    $student=DB::table("vipinfo")->select('vip_name','vip_ID')->get();

    dd($student);

    //chunk()每次查n条

    student=DB::table("vipinfo")->chunk(2,function(students){ //每次查2条

    var_dump($students);
    
    if(.......) returnfalse;  //在满足某个条件下使用return就不会再往下查了
    

    });

    2.使用聚合函数

    //count()统计记录条数$nums=DB::table("vipinfo")->count();

    echonums;//max()某个字段的最大值,同理min是最小值max=DB::table("vipinfo")->max("vip_fenshu");

    echomax;//avg()某个字段的平均值avg=DB::table("vipinfo")->avg("vip_fenshu");

    echoavg;//sum()某个字段的和sum=DB::table("vipinfo")->sum("vip_fenshu");

    echo$sum;

    相关文章

      网友评论

          本文标题:(laravel查询构造器)2020-04-08

          本文链接:https://www.haomeiwen.com/subject/gagaphtx.html