Laravel 框架(数据库)

不正经的魔术讲师与禁忌教典

提供了DB facade(原始查找)、*查找构造器、Eloquent ORM三种操作方法  

laravel中修改连接数据库的文件有两处

  修改 .env文件

  修改config/database.php文件。

通过配置后,发现,如果我们的数据表有前缀的话,在.env文件中不能去设置

到此我们的数据库的配置就完成了

注:表前缀,如果有则添加,没有可以不修改。

DB类执行原生SQL语句

构造器自增自减:

DB::table('student')->increment('字段');  
DB::table('student')->decrement('字段');  

增加方法:

insert();可以同时增加一条或多条,返回值是布尔类型;  

insertGetId(),只能增加一条数据,返回自增ID;

DB::table('无前缀表名')->insert(['name'=>'zhangsan','sex'=>0]);//单条数据;  
 DB::table('无前缀表名')->insert([  
  ['name'=>'zhangsan','sex'=>0],  
  ['name'=>'zhangsan','sex'=>0]  
]);//多条数据;   
$id = DB::table('无前缀表名')
->insertGetId(['name'=>'zhangsan','sex'=>0]);//单条数据;  

更新方法:

update([]); 更新所有的字段,返回值为受到影响的行数;  

increment('字段',值)--递增; decrement()--递减;  只是修改某个字段  

where('字段','运算符','值')如果运算符为‘=’,可以不写  

DB::table('无前缀表名')->where('id','2')->update(['name'=>'张三丰']);

查询方法:

* 取出基本数据

DB::table('表')->get() 相当于:select * from 表;

返回值为集合对象  

获取循环数据:

foreach($res as $k=>$v){  
  echo $v->id;  //此处是对象,不是数组  
}

配合where()方法,还有'或者'关系:orWhere()

DB::table('')->where()->orWhere()->get();

* 取单行数据  

first()方法:返回值是一个对象;等价于limit 1;

DB::table('')->first();

* 取出某一行的某一个值

value()方法;

DB::table('')->where('id','2')->value('name');

DB::table('')->where('id','2')->value('name');

* 获取某些字段的值  

select()方法;

DB::table('')->where('id','2')->select('name','sex')->get();

设置别名:

DB::table('')->where('id','2')->select('name as na','sex')
->get();

排序操作:orderBy('name','desc')

分页操作:

limit():限制输出条数;

offset(n):从第n+1条开始;

删除操作(工作中使用修改代替删除)

物理删除,逻辑删除;  

delete():删除记录;返回的是影响的数据;  

truncate():清空整个数据表;  

DB::table('')->where('id','2')->delete();

执行任意的SQL语句

* 执行任意的insert、update、delete语句

DB::statement('');

* 执行任意的select语句

DB::select('');

猜你喜欢

转载自www.cnblogs.com/ltl11230/p/12787286.html