Как работают вложенные транзакции в Laravel? - PullRequest
1 голос
/ 07 мая 2019

У меня есть основная функция A, которая вызывается перед функцией B и после функции C. Оба сохраняют одну модель и имеют собственную начальную транзакцию и основную транзакцию в функции A, как хранятся данные?

Iпопытался создать исключение для функции C, но функция B хранит переменную $ modelB в любом месте

        public function B(){
            DB::beginTransaction();
            try{
            $modelB->save();
                DB::commit();
            }catch(\Exception $e){
                DB::rollback();
            }
        }

        public function C(){
            DB::beginTransaction();
            try{
            $modelC->save();
                DB::commit();
            }catch(\Exception $e){
                DB::rollback();
            }
        }

        public function A(){
            DB::beginTransaction();
            try{
                $this->B();
                $this->C();
                DB::commit();
            } catch(\Exception $e){
                DB::rollback();
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...