thinkPHP事务操作简单案例分析
本文实例讲述了thinkPHP事务操作。分享给大家供大家参考,具体如下:
1.说明
Db::startTrans();
try{
操作;
对象->save();
Db::commit();
}
catch(Exception$ex){
Db::rollback();
throw$ex;
}
2.案例
privatefunctioncreateOrderByTrans($snap)
{
Db::startTrans();
try{
$orderNo=$this->makeOrderNo();
$order=newOrderModel();
$order->user_id=$this->uid;
$order->order_no=$orderNo;
$order->total_price=$snap['orderPrice'];
$order->total_count=$snap['totalCount'];
$order->snap_img=$snap['snapImg'];
$order->snap_name=$snap['snapName'];
$order->snap_address=$snap['snapAddress'];
$order->snap_items=json_encode($snap['pStatus']);
$order->save();
$orderID=$order->id;
$create_time=$order->create_time;
foreach($this->oProductsas&$p){
$p['order_id']=$orderID;
}
$orderProduct=newOrderProduct();
$orderProduct->saveAll($this->oProducts);
Db::commit();
return[
'order_no'=>$orderNo,
'order_id'=>$orderID,
'create_time'=>$create_time
];
}catch(Exception$ex){
Db::rollback();
throw$ex;
}
}
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《ZendFrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。