Normall、DB::beginTransaction()
を使用した場合、それはこのようなDB::rollBack()
laravel5でDB :: commit()を使わずにDB :: beginTransactionを呼び出すとどうなりますか?
何かで使用されています
DB::beginTrnsaction();
try {
DB::insert(...);
DB::insert(...);
DB::insert(...);
DB::commit();
// all good
} catch (\Exception $e) {
DB::rollback();
// something went wrong
}
しかし、私はトライキャッチループを追加するために何を忘れた場合?
すなわち
DB::beginTrnsaction();
DB::insert(...);
DB::insert(...);
DB::insert(...);
DB::commit();
、インサートの一つがうまくいかない場合は、データベースが変更されますか?または自動的にロールバックされますか?概念を理解するために
挿入クエリのいずれかでエラーが発生した場合、トランザクションは自動的にロールバックされます。 –
はい、自動的にロールバックされます –
これはテストケースを作成して自分自身でテストできます。 –