|  | 
 
| 5、查询构造器 //插入记录
 Db::table('tp_data')->insert(['id'=>18,'name'=>'tp5','status'=>1]);
 Db::name('data')->insert(['id'=>18,'name'=>'tp5','status'=>1]);
 //更新记录
 Db::table('tp_data')->where('id',2)->update(['name'=>'hello']);
 //查询记录
 $list =  Db::table('tp_data')->where('id',2)->select();
 //删除数据
 Db::table('tp_data')->where('id',2)->delete();
 
 6、DB链式操作
 //查询十个满足条件的数据,并按照id倒序排列
 $list =  Db::name('data')->where('status',2)->field('id,name')->order('id','desc')->limit(10)->select();
 dump($list);
 
 7、事物支持
 
 复制代码//几个操作同步进行,如果有异常,同步撤销。如转账操作,A钱少,B钱加,有一个失败,则回滚。
//事务支持,在Mysql数据库中请设置表类型为InnoDB
//把需要执行的事物操作封装到闭包里面即可自动完成事务
Db::transaction(function(){
        Db::table('tp_data')->delete(1);
        Db::table('tp_data')->insert(['id'=>18,'name'=>'tp5','status'=>1]);
});
//手动控制事物的提交
//启动事物
Db::startTrans();
try{
        Db::table('tp_data')->delete(1);
        Db::table('tp_data')->insert(['id'=>18,'name'=>'tp5','status'=>1]);
        //提交事务
        Db::commit(); //不加此行则用于测试,最终不作提交,只判断能否执行
        echo 'try ok!';
} catch (\Exception $e){
        Db::rollback(); //回滚事务
        echo 'fail!back!';
}
 | 
 |