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

在laravel中實現事務回滾的方法

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

之前做項目用到了事務回滾這個機制。我把代碼貼出來多多交流給點意見,我用的是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) {
		//異常處理進行回滾,自己想對應的業(yè)務
      \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中實現事務回滾的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • PHP+jQuery+Ajax實現分頁效果 jPaginate插件的應用

    PHP+jQuery+Ajax實現分頁效果 jPaginate插件的應用

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

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

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

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

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

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

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

    thinkphp5框架擴展redis類方法示例

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

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

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

    CI框架無限級分類+遞歸的實現代碼

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

    Yii框架分頁實現方法詳解

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

    Yii框架 session 數據庫存儲操作方法示例

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

    php中使用array_filter()函數過濾空數組的實現代碼

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

最新評論

于田县| 贵德县| 若尔盖县| 噶尔县| 汾阳市| 青冈县| 五莲县| 富源县| 玉屏| 郎溪县| 无锡市| 马边| 云安县| 通江县| 威远县| 安徽省| 乌拉特中旗| 河东区| 会同县| 康定县| 宁安市| 淮南市| 洛扎县| 庆元县| 防城港市| 阳春市| 临安市| 于田县| 永丰县| 牡丹江市| 云龙县| 邯郸县| 洞口县| 高平市| 蓬莱市| 彩票| 马鞍山市| 兴文县| 石城县| 疏附县| 通化县|