Download the PHP package sheum/laravel-auto-transaction without Composer
On this page you can find all versions of the php package sheum/laravel-auto-transaction. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download sheum/laravel-auto-transaction
More information about sheum/laravel-auto-transaction
Files in sheum/laravel-auto-transaction
Package laravel-auto-transaction
Short Description Automatic database transaction management for Laravel applications
License MIT
Informations about the package laravel-auto-transaction
Laravel Auto Transaction
Automatic database transaction management for Laravel applications. No more manually calling DB::beginTransaction(), DB::commit(), and DB::rollBack()!
Features
- 🛡️ Middleware support - Automatic transactions for entire routes
- 🔧 Trait integration - Easy to use in services and repositories
- 🎨 Helper functions - Simple wrapper functions
- 🔄 Retry mechanism - Handle deadlocks automatically
- 🎛️ Multiple connections - Support for different database connections
Requirements
- PHP 8.1 or higher
- Laravel 10.x or higher
Installation
The package will automatically register itself.
Publish Configuration (Optional)
Usage
Method 1: Using Trait with runInTransaction (Recommended for Services)
Method 2: Using Middleware (For Controllers)
Apply to specific routes:
Apply to controller methods:
Method 3: Using Helper Functions
Method 4: Using Attributes (Advanced)
For advanced usage, you can use attributes with the trait:
Configuration Options
runInTransaction Parameters
Attribute Parameters
Best Practices
- Use
runInTransaction()for service methods - Clean and explicit - Use middleware for API endpoints - Automatic transaction per request
- Use helper functions for quick operations - Simple and straightforward
- Use traits in repositories - Consistent transaction handling
- Handle nested transactions carefully - Laravel uses savepoints
- Don't mix transaction methods - Choose one approach per layer
Error Handling
The package throws TransactionException on failure:
Testing
Examples
E-commerce Order Processing
User Registration with Profile
Banking Transfer Service
Additional Examples
Please see Additional Examples for more examples.
License
The MIT License (MIT). Please see License File for more information.
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Credits
Support
If you discover any issues, please email [email protected] or create an issue on GitHub.
All versions of laravel-auto-transaction with dependencies
illuminate/support Version ^9.0|^10.0|^11.0
illuminate/database Version ^9.0|^10.0|^11.0
illuminate/http Version ^9.0|^10.0|^11.0