//開啟事務 DB::beginTransaction(); try { //賬號密碼同步到後台登錄表 $user = new AppModelsUser; $user->name = $data->head_name;//負責人姓名 $user->email = $data->head_email;//負責人郵箱 $user->save(); //提交事務 DB::commit(); } catch (Exception $e){ //事務回滾 DB::rollback(); }
//開啟事務 DB::beginTransaction(); try { //賬號密碼同步到後台登錄表 $user = new AppModelsUser; $user_data = [ 'name' => $data->head_name,//負責人姓名 'email' => $data->head_email,//負責人郵箱 'updated_at' => date("Y-m-d H:i:s"), ]; $user::where('businessid',$data->id)->update($user_data); //提交事務 DB::commit(); } catch (Exception $e){ //事務回滾 DB::rollback(); }
以上操作要手動開啟關閉事務
以下操作不用手動開啟關閉事務
你可以在 DB
facade 上使用 transaction
方法来运行数据库事务中的一组操作。如果在事务 Closure
中发生了异常,事务将自动回滚。而如果 Closure
成功执行,事务将自动被提交。也就是说,使用数据库事务,你就不需要在数据库语句执行发生异常时手动回滚或提交。
DB::transaction(function () use($id,$login_pass){
Business::ID($id)->update(['login_pass' => $login_pass]);
});