最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在laravel中實(shí)現(xiàn)事務(wù)回滾的方法

 更新時間:2019年10月10日 14:23:40   作者:chen529834149  
今天小編就為大家分享一篇在laravel中實(shí)現(xiàn)事務(wù)回滾的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

之前做項(xiàng)目用到了事務(wù)回滾這個機(jī)制。我把代碼貼出來多多交流給點(diǎn)意見,我用的是laravel 5.1bane版本的,

public static function createDeal($to_status, $params, $new_balance, $update = true)
  {
    \DB::beginTransaction();
 
 
    try {
      $update_order_status = \DB::table('wallet_order')
                  ->where('order_id', $params['order_id'])
                  ->update(['to_status' => $to_status, 'update_time' => $params['pay_time']]);
      if (!$update_order_status) {
        throw new \Exception("update order error");
      }
 
 
      $create_deal_status = \DB::table('wallet_deal')
                  ->insert($params);
      if (!$create_deal_status) {
        throw new \Exception("create deal error");
        
      }
 
 
      if ($update) {        
        $update_manage_status = self::updateManage(['balance' => $new_balance, 'update_time' => $params['pay_time']], $params['from_user']);
        if (!$update_manage_status) {
          throw new \Exception("update manage error");
        }
      } else {
        $manage_params = [
          'user_id' => intval($params['from_user']),
          'balance' => $new_balance,
          'add_time' => $params['pay_time'],
          'update_time' => $params['pay_time'],
        ];
        $create_manage_status = self::createManage($manage_params);
        if (!$create_manage_status) {
          throw new \Exception("create manage error");
        }
      }
      \DB::commit();
    } catch (\Exception $e) {
		//異常處理進(jìn)行回滾,自己想對應(yīng)的業(yè)務(wù)
      \DB::rollback();
      $trouble_params = [
        'order_id' => $params['order_id'],
        'deal_id' => $params['deal_id'],
        'from_user' => $params['from_user'],
        'to_user' => $params['to_user'],
        'total_amount' => $params['total_amount'],
        'add_time' => $params['pay_time'],
        'type' => $params['type'],
        'to_status' => $to_status
      ];
      \DB::connection('mongodb')
        ->table('wallet_trouble')
        ->insert($trouble_params);
    } finally {
      self::createLog($params, $to_status);
    }
  }

以上這篇在laravel中實(shí)現(xiàn)事務(wù)回滾的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • PHP+jQuery+Ajax實(shí)現(xiàn)分頁效果 jPaginate插件的應(yīng)用

    PHP+jQuery+Ajax實(shí)現(xiàn)分頁效果 jPaginate插件的應(yīng)用

    這篇文章主要介紹了PHP+jQuery+Ajax實(shí)現(xiàn)分頁效果,以及jPaginate插件的應(yīng)用
    2015-10-10
  • Yii2.0建立公共方法簡單示例

    Yii2.0建立公共方法簡單示例

    這篇文章主要介紹了Yii2.0建立公共方法,結(jié)合實(shí)例形式分析了Yii2.0建立公共方法的基本原理、步驟與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-01-01
  • Yii2框架控制器、路由、Url生成操作示例

    Yii2框架控制器、路由、Url生成操作示例

    這篇文章主要介紹了Yii2框架控制器、路由、Url生成操作,結(jié)合實(shí)例形式分析了Yii2框架控制器、路由、url生成跳轉(zhuǎn)等相關(guān)原理及操作技巧,需要的朋友可以參考下
    2019-05-05
  • PHP中strlen()和mb_strlen()的區(qū)別淺析

    PHP中strlen()和mb_strlen()的區(qū)別淺析

    這篇文章主要介紹了PHP中strlen()和mb_strlen()的區(qū)別淺析,本文探討的中英混合的字符在使用這個函數(shù)時的區(qū)別,需要的朋友可以參考下
    2014-06-06
  • thinkphp5框架擴(kuò)展redis類方法示例

    thinkphp5框架擴(kuò)展redis類方法示例

    這篇文章主要介紹了thinkphp5框架擴(kuò)展redis類方法,結(jié)合實(shí)例形式分析了thinkphp5框架擴(kuò)展redis類的實(shí)現(xiàn)步驟、操作技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2019-05-05
  • Yii框架布局文件的動態(tài)切換操作示例

    Yii框架布局文件的動態(tài)切換操作示例

    這篇文章主要介紹了Yii框架布局文件的動態(tài)切換操作,結(jié)合實(shí)例形式分析了Yii框架控制器動態(tài)切換布局的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-11-11
  • CI框架無限級分類+遞歸的實(shí)現(xiàn)代碼

    CI框架無限級分類+遞歸的實(shí)現(xiàn)代碼

    CodeIgniter是一個輕量級但功能強(qiáng)大的PHP框架,基于MVC設(shè)計模式,提供了一套豐富的類庫,簡單易學(xué),高效實(shí)用。下面給大家介紹CI框架無限級分類+遞歸的實(shí)現(xiàn)代碼,感興趣的朋友參考下吧
    2016-11-11
  • Yii框架分頁實(shí)現(xiàn)方法詳解

    Yii框架分頁實(shí)現(xiàn)方法詳解

    這篇文章主要介紹了Yii框架分頁實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了基于Yii框架實(shí)現(xiàn)分頁的原理、步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-05-05
  • Yii框架 session 數(shù)據(jù)庫存儲操作方法示例

    Yii框架 session 數(shù)據(jù)庫存儲操作方法示例

    這篇文章主要介紹了Yii框架 session 數(shù)據(jù)庫存儲操作方法,結(jié)合實(shí)例形式分析了使用Yii框架session組件配置與數(shù)據(jù)庫存儲相關(guān)操作技巧,需要的朋友可以參考下
    2019-11-11
  • php中使用array_filter()函數(shù)過濾空數(shù)組的實(shí)現(xiàn)代碼

    php中使用array_filter()函數(shù)過濾空數(shù)組的實(shí)現(xiàn)代碼

    這篇文章主要介紹了php中使用array_filter()函數(shù)過濾空數(shù)組的實(shí)現(xiàn)代碼,這是瀏覽PHP手冊時無意發(fā)意的一個有意思的array_filter()函數(shù)用法,需要的朋友可以參考下
    2014-08-08

最新評論

常熟市| 大荔县| 普兰店市| 巫溪县| 铁岭市| 延吉市| 萍乡市| 绥江县| 紫阳县| 台南市| 策勒县| 富源县| 公安县| 新乡县| 东港市| 洛南县| 泰安市| 晋中市| 文昌市| 阿城市| 隆安县| 客服| 吴旗县| 商河县| 盖州市| 祁东县| 海伦市| 西宁市| 河南省| 凤山市| 徐闻县| 彭水| 阜阳市| 青川县| 乌拉特前旗| 昌江| 溧阳市| 蒙山县| 雷山县| 肥西县| 大竹县|