//插入记录 $result=Db::table('think_data')->insert(['name'=>'张三','status'=>1]); //修改数据 $result=Db::table('think_data')->where('id', 1)->update(['name'=>"陈国松",'status'=>0]); //查询数据 $result=Db::table('think_data')->select();
(貌似修改数据不能以id修改多是id加了AUTO_INCREMENT,能不用助手函数就不用助手函数)php
数据库提供的链式操做方法,能够有效的提升数据存取的代码清晰度和开发效率,而且支持全部的CURD操做。
使用也比较简单,假如咱们如今要查询一个User表的知足状态为1的前10条记录,并但愿按照用户的建立时间排
序 ,代码以下:thinkphp
Db::table('think_user') ->where('status',1) ->order('create_time') ->limit(10) ->select();
这里的 where 、 order 和 limit 方法就被称之为链式操做方法,除了select方法必须放到最后一个外
(由于select方法并非链式操做方法),链式操做的方法调用顺序没有前后,例如,下面的代码和上面的等
效:数据库
Db::table('think_user') ->order('create_time') ->limit(10) ->where('status',1) ->select();
其实不单单是查询方法可使用连贯操做,包括全部的CURD方法均可以使用,例如:app
Db::table('think_user') ->where('id',1) ->field('id,name,email') ->find(); Db::table('think_user') ->where('status',1) ->where('id',1) ->delete();
链式操做在完成查询后会自动清空链式操做的全部传值。简而言之,链式操做的结果不会带入后面的其它查询。函数
$result=Db::name('data')->where('status',1)->find(); $result=Db::name('data')->where('status',1)->select();
find方法和select方法的区别在于find只能查到一个,而select是查询全部的。thinkphp5
$result=Db::name('data')->where('name','like','%陈%')->select();
$result=Db::name('data')->where('id','BETWEEN',[2,4])->select();
$data=[ ['name'=>"凌志林",'status'=>1], ['name'=>"林志颖",'status'=>2], ]; $result=Db::name('data')->insertALL($data);
$result=Db::name('data')->where('name','陈国松')->setField('name','陈松');
$result=Db::name('data')->where('name','陈松')->setInc('status');
$result=Db::name('data')->where('name','陈松')->setDec('status',2);
Thinkphp5.0的模型是一种关系映射ORM的封装而且提供了简洁的ActiveRecord实现。通常来讲,每一个数据表会和一个"模型对应"。spa
模型类返回的是当前模型对象实例,模型是比Db类更高级的数据封装,支持模型关联,模型事件。code
首先建立一个数据表
对象
而后新建以下文件及文件夹
blog
其中model里的User.php以下
<?php namespace app\index\model; use think\Model; class User extends Model { }
controller里面的User.php
<?php namespace app\index\controller; use app\index\model\User as UserModel; class User{ //新增一条数据的方法 public function add() { echo 'hello'; $user =new UserModel(); $user->id=1; $user->name='陈国松'; $user->email='liuyun@qq.com'; $user->birthday=strtotime('1989-7-11'); if( $user->save()){ return '用户新增成功'; }else{ return '用户新增失败'; } } }
地址栏这样访问(没有弄虚拟主机的)
http://localhost/thinkphp5.0/public/index.php/index/User/add
成功的话数据库会以下