Database Transactions - marella/phd GitHub Wiki
To run a set of operations within a database transaction, you may use the transaction
method on the DB
facade. If an exception is thrown within the transaction Closure
, the transaction will automatically be rolled back. If the Closure
executes successfully, the transaction will automatically be committed. You don't need to worry about manually rolling back or committing while using the transaction
method:
DB::transaction(function () {
DB::update('update users set votes = 1');
DB::delete('delete from posts');
});
Manually Using Transactions
If you would like to begin a transaction manually and have complete control over rollbacks and commits, you may use the beginTransaction
method on the DB
facade:
DB::beginTransaction();
You can rollback the transaction via the rollBack
method:
DB::rollBack();
Lastly, you can commit a transaction via the commit
method:
DB::commit();