Я использую конвейер bitbucket для запуска и развертывания моего проекта. У меня есть пара тестов, которые используют транзакцию, чтобы следовать принципу атомарности, это одна из этих транзакций
DB::transaction(function () use ($request, $child) {
$this->authorize('accessRequestMoney', $child);
$this->model->whereUserId($this->authenticated->id)->forceDelete();
$data = [
'amount'=> (float)$request->amount * 100,
'day'=>$request->day,
'enabled'=>$request->has('enabled') ? $request->enabled : true,
];
$this->model->create(['user_id' => $this->authenticated->id, 'children_id' => $child->id] + $data);
}
Но, к сожалению, я получаю следующую ошибку
PDOException: There is no active transaction
Я должен сказать, что мир кода является частью большой функциональности. Но это единственная транзакция, которую я использую в этой функциональности. Я также написал пару тестовых сценариев ios для этой функциональности. Эта функциональность отлично работает в реальном мире.
Я больше сомневаюсь в методе авторизации, так как он вызывает исключение внутри кластера транзакций. Спасибо за любую помощь.