Download the PHP package rizalsaja/laravel-status-transition without Composer
On this page you can find all versions of the php package rizalsaja/laravel-status-transition. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download rizalsaja/laravel-status-transition
More information about rizalsaja/laravel-status-transition
Files in rizalsaja/laravel-status-transition
Package laravel-status-transition
Short Description A simple and flexible trait to add state machine behaviour to Laravel Eloquent models, with transition validation and automatic history tracking.
License MIT
Informations about the package laravel-status-transition
Laravel Status Transition
A simple and flexible trait to add state machine behaviour to Laravel Eloquent models, with transition validation and automatic history tracking.
Features
- Attach status state machine to any Eloquent model via a single trait
- Define allowed statuses and enforce valid transition paths
- Automatic status history recording with reason and actor tracking
- Polymorphic history — one
status_historiestable for all models - Query scopes for filtering by status
- Configurable: disable history recording globally via config
- Auto-discovery support — no manual provider registration needed
Requirements
| Package version | Laravel | PHP |
|---|---|---|
| 1.x | 10, 11, 12 | 8.1+ |
Installation
Install via Composer:
The service provider is auto-discovered. No manual registration needed.
Publish the config file:
Publish and run the migrations:
On-Progress Features
[!WARNING] The following features are available on the
1.1branch and are part of the upcoming v1.1.0 milestone. They are not yet stable and the API may change before the final release. Use at your own risk.
Before and/or After Hooks for Status Transitions
Attach before and/or after callbacks to specific transitions directly in your model's $transitions map.
Closures are also supported:
Usage
1. Add the trait to your model
Make sure your model's table has a status column:
2. Transition to a new status
3. Check current status
4. Query by status
5. Access history
6. Resolve back to the model
Configuration
After publishing, edit config/laravel-status-transition.php:
Customisation
Custom status column
Custom initial status
Allow all transitions freely
Omit $transitions from your model. Without it, any status can transition to any other status defined in $statuses.
Error Handling
Testing
Changelog
Please see CHANGELOG.md for recent changes.
Contributing
Please see CONTRIBUTING.md for details.
License
The MIT License (MIT). Please see LICENSE.md for more information.
All versions of laravel-status-transition with dependencies
illuminate/support Version ^10.0|^11.0|^12.0|^13.0