博客列表 >laravel中的事务的使用方式

laravel中的事务的使用方式

陈文鹏的博客
陈文鹏的博客原创
2017年12月27日 14:29:072841浏览

<?php 



    public function audit($id)

{

$ttip=DB::table('ttip')->where('id',$id)->first();

$username=$ttip->username;

$user=DB::table('user')->where('username',$username)->first();

$alreleased=$user->alreleased;//更新user表中的数据

$ttBumber=$ttip->ttBumber;//ttip表中的数量

$carryout=$user->carryout;//更新user表中的数据


if($alreleased<$ttBumber)

{

$message="交易失败";

return redirect('/admin')->with('message',$message);

}



DB::beginTransaction(); //开启事物

//扑捉异常

try {

$res=Db::table('ttip')->where("id",$id)->update(["status"=>1]);

$nums=Db::table('user')->where("username",$username)->decrement('subscriptotal',$ttBumber);//递减

$num=Db::table('user')->where("username",$username)->decrement('alreleased',$ttBumber); //递减

$takeaway=DB::table('user')->where('username',$username)->increment('carryout',$ttBumber);//递增

if($res==true && $num==true && $takeaway==true && $nums==true){

DB::commit();//提交保存

$message="交易成功";

return redirect('/admin')->with('message',$message);



}else{

DB::rollBack();

}


} catch (Exception $e) {

// 数据回滚, 当try中的语句抛出异常。

DB::rollBack();


}



}

 ?>


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议