怎么在laravel中實現(xiàn)事務(wù)回滾?針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
專注于為中小企業(yè)提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)平谷免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。Laravel 是一套簡潔、優(yōu)雅的PHP Web開發(fā)框架。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構(gòu)建一個完美的網(wǎng)絡(luò)APP,而且每行代碼都可以簡潔、富于表達(dá)力。
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); } }
關(guān)于怎么在laravel中實現(xiàn)事務(wù)回滾問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。