数据库
laravel操作数据库所使用的扩展 pdo,一定要开启pdo扩展
提供了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');
* 获取某些字段的值
select()方法;
DB::table('表')->where('id','2')->select('name','sex')->get();
设置别名:
DB::table('表')->where('id','2')->select('name as na','sex')
->get();
排序操作:orderBy('name','desc')