//插入記錄 $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
成功的話數據庫會以下