|
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!';
- }
复制代码 |
|