私はマルチクエリを行ったときにdbトランザクションを作成しようとしました。DB :: transactionでエラーが発生した場合、Laravel 5.3はロールバックされませんでしたか?
とも私はロールバックされないように、ここで投げいくつかの例外は、トランザクションが思えるときだけ
DB::transaction(function() {
try{
//....db queries
}catch(\Exception $e){
Log::info($e);
}
});
のようなトランザクション外の例外をキャッチしようとしたが、データはデータベースに変更されました。
私は手動でcatchステートメントでDB::rollBack()
を行う場合は、すべて私のデータは、罰金になり、
それは私が手動でDB::rollBack()
をしなければならないなら、私は思うのですか?
私はDB::transaction
を使用している場合、例外が投げられたときに、DB::rollBack()
が自動的に実行されると私のdbクエリを管理すると言ったことを覚えていますか?
Laravel 5.3で変更されましたか?
また、あなたの質問をより明確にするための適切なコードを示してください。 – msonowal
@msonowal私はちょうどDB :: transactionのロジックについて、正確なコードについては議論したいと思います。あなたがLaravelを知っているなら、私が何を話しているのかを理解するのは簡単です。だから、私のポイントを明確にするためにたくさんのコードを入力する必要はないと思います。 –