laravel总结二

来源:互联网 发布:淘宝天猫购物返钱 编辑:程序博客网 时间:2024/05/17 01:56
Laravel提供了DB facade(原始查找) 、查询构造器和Eloquent ORM三种操作数据库方式
一.laravel连接数据库
    连接数据库的配置文件在:config文件夹下的database.php文件中
    但是要配置数据库需要在隐藏文件.env文件中写配置数据库的名字,密码,数据库名
    这样配置数据库提高了数据库的安全性


二.用原始的sql语句进行增删改查
 首先要先引用DB 这个类文件才能使用DB类中的方法
例:
 use Illuminate\Support\Facades\DB;


然后在方法中使用DB这个对象来进行操作
例:
查询
select()
$goods=DB::select('select * from tp_goods');
print_r($goods);

这种方式进行预处理 防止sql语句注入
$goods=DB::select('select * from tp_goods where goods_num>?',[8]);
print_r($goods);


增加
insert()
进行预处理方式写法
$goods=DB::insert('insert into tp_goods(goods_name,goods_num,goods_money) VALUES (?,?,?)',['养乐多',30,3]);
var_dump($goods);


修改
update()
防止sql语句注入
$goods=DB::update('update tp_goods set goods_name=? WHERE goods_id=?',["可口可乐",2]);
var_dump($goods);


删除
delete()
防止sql语句注入
$goods=DB::delete('delete from tp_goods where goods_id=?',[2]);
var_dump($goods);


三.使用laravel中的查询构造器
查询构造器的简介
 Laravel查询构造器(query builder)提供方便,流畅的接口,用来建立及执行数据库查询语法
使用PDO参数绑定,以保护应用程序免于SQL注入因此传入的参数不需额外转义特殊字符
基本可以满足所有的数据库操作,而且在所有支持的数据库系统上都可以执行


使用构造器也需要先打开DB这个类文件
table() 使用的数据库中的哪个表
例:
增加
insert() 添加一条数据
$goods=DB::table('tp_goods')->insert(
            ['goods_name'=>'可口可乐','goods_num'=>20,'goods_money'=>3]
        );
添加记录添加多条记录
$goods=DB::table('tp_goods')->insert([
               ['goods_name'=>'农夫山泉','goods_num'=>50,'goods_money'=>2]
               ,['goods_name'=>'百岁山','goods_num'=>30,'goods_money'=>3]
         ]);




insertGetId()  添加一条记录返回这个数据的id
例:
 $goods=DB::table('tp_goods')->insertGetId(
             ['goods_name'=>'雪碧','goods_num'=>30,'goods_money'=>3]
         );


更新
where()      添加添加的方法
whereRaw()  加多个where条件
update()    更新方法
例:
$goods=DB::table('tp_goods')->where('goods_id',3)->update(['goods_num'=>40]);


increment()  自增方法 三个参数 自增的字段和每次自增几和更新字段,如果第二个参数不写,默认自增1 第三个字段是更新的字段
decrement()  自减方法
例:
  $goods=DB::table('tp_goods')->increment('goods_num');
 $goods=DB::table('tp_goods')->decrement('goods_num',3);
 $goods=DB::table('tp_goods')->where('goods_id',3)->decrement('goods_num',3,['goods_name'=>'加多宝']);




删除
 delete()  删除记录
例:
 $goods=DB::table('tp_goods')->where('goods_id',3)->delete();


查询
 get()  查询所有的数据
例:
 $goods=DB::table('tp_goods')->get();


 first()  查询一条数据
例:
  $goods=DB::table('tp_goods')->orderBy('goods_id','desc')->first();


 pluck()  查询所有记录中某个字段中的值
例:
  $goods=DB::table('tp_goods')->pluck('goods_name');


 lists()  查询所有记录中某个字段中的值  这个方法查询的时候可以把查询结果变成键值对的方式
例:
 $goods=DB::table('tp_goods')->lists('goods_num','goods_name');


 select() 查询指定的字段中的值
例:
 $goods=DB::table('tp_goods')->select('goods_id','goods_name','goods_num')->get();


 chunk()  多少个记录一组输出
例:
 DB::table('tp_goods')->chunk(3,function($goods){
             print_r($goods);
         });


表的总记录数 count()
$goods=DB::table('tp_goods')->count();


某个字段的最大值 max()
$goods=DB::table('tp_goods')->max('goods_num');


某个字段的最小值 min()
$goods=DB::table('tp_goods')->min('goods_num');


某个字段的平均值  avg()
$goods=DB::table('tp_goods')->avg('goods_num');


某个字段的总数  sum()
$goods=DB::table('tp_goods')->sum('goods_num');

















原创粉丝点击