DB 类是 Laravel 中用于数据库操作的核心类之一。
在laravel中引用的是Facades下面的DB use Illuminate\Support\Facades\DB;
DB类的增删改查
增加信息
对数据库中的某个表增加数据主要有俩个函数可以实现,分别是insert()和insertGetId()
insert(数组)可以同时添加一条或多条数据,返回值是true或false
insertGetId(一维数组),只能添加一条数据,返回自增的id
注意:DB:table('表名')这里需要注意的是可能你的配置文件设置了去除表前缀
说明:数组里的元素要求是键值对的关系,键就是数据表中的字段名。
$res = DB::table("goods")->insertGetId(["goods_name"=>"黑米手机","goods_price"=>99]);
dd($res);
修改信息
数据修改可以使用update()、increment()和decrement()函数来实现。Update表示可以修改整个记录中的全部字段;Increment和decrement表示修改数字字段的数值(递增或递减),使用场景:记录登录次数,积分的增加;
->where()->update([])Where语法:
->where(字段,运算符,值)如果运算符为“=”,则第二个参数可以不写
其返回的结果·表示受影响的行数
DB::table('member')->increment('votes'); 每次+1
DB::table('member')->increment('votes', 5); 每次+5
DB::table('member')->decrement('votes'); 每次-1
DB::table('member')->decrement('votes', 5); 每次-5
$res = DB::table("goods")->where(["id"=>5])->update(["goods_name"=>"白米手机"]);
dd($res);
注意:where方法之后可以继续调用where之类的方法。
-> where() -> where() -> where().. 这个语法是并且(and)关系语法。
-> where() -> orWhere() -> orWhere()… 这个语法是或者(or)关系语法。
Orwhere方法的参数与where一致。
Where参数顺序:
-> where(字段名,运算符,字段值)。
扩展:
-> where([‘id’ => 1]);
注意:where与update方法的顺序是不能颠倒的,update必须在最后。
●自增,自减 increment()和decrement()
DB::table(' member')->where()->increment('age'); 每次+1
DB::table(' member')->increment('age', 5); 每次+5
DB::table(' member')->decrement('age'); 每次-1
DB::table(' member')->decrement('age', 5); 每次-5
查询数据(get)
取出基本数据
DB::table('member')->get();//相当于select * from member;返回值是一个集合对象,
Get查询的结果每一行的记录是对象的形式,不是数组。
->where()->get();
注意:where方法之后继续调用where方法。
->where()->where()->where()...这个语法是and的关系
->where()->orWhere()...这个语法是或者(or)的关系(与where方法的参数一致)
取出单行数据
DB::table('member')->where('id','1')->first();//返回值是一个对象 等价于limit 1
获取某个具体的值
DB::table('member')->where('id','1')->value('name');
获取某些字段数据(多个字段)
$users = DB::table('member')->select('name', 'email')->get();
$users = DB::table('member')->select('name as user_name’)->get();
排序操作(ASC,DESC)
DB::table(‘member’)->orderBy(‘age’,‘desc’)->get();
分页操作
DB::table(‘member’)->limit(3)->offset(2)->get();
Limit:表示限制输出的条数
Offset:从什么地方开始 组合起来等价于limit 3,2
删除数据
物理删除
本质就是删除
可以通过delete函数和truncate函数实现、delete表示删除记录;Truncate表示清空整个数据表
DB::table(‘table_name’)->where(‘id’,‘1’)->delete(); 返回值表示受到影响的行数
语法:DB::table(‘member’) -> truncate();
逻辑删除(软删除)
本质就是修改,例如修改某一个数据为空(一般是用时间戳)
执行任意的sql语句
(1)执行原生查询语句DB::select(“select语句”);
(2)执行原生插入语句DB::insert("insert语句");
(3)执行原生修改语句DB::update("update语句");
(4)执行原生删除语句DB::delete("delete语句");
(5)执行一个通用语句(没有返回值的语句,例如:create table等)DB::statement("语句");
后续还有很多常用的后面会一一列举出来,希望各位友友们好好学习!!!