cjmellor/approval
Laravel package to stage and approve new Eloquent model data before it’s persisted. Provides an approval workflow with migrations and configurable behavior, supporting PHP 8.3+ and Laravel 12.4+/13.
Adopt if:
Look elsewhere if:
For Executives: "This package lets us enforce approval workflows for critical data (e.g., user content, transactions) without building custom systems. It reduces risk by requiring manual review for sensitive changes, automates time-based actions (e.g., reject stale requests), and integrates seamlessly with our Laravel stack. For example, we could use it to moderate posts or validate financial entries—saving dev time while improving compliance."
For Engineering: *"Pros:
approvals table.Post or Invoice models).Trade-offs:
approvals table (but configurable).Quick Start:
composer require cjmellor/approval
php artisan vendor:publish --tag="approval-migrations"
php artisan migrate
Then add use MustBeApproved to your model. Done.
Example Use Case:
‘We want admins to approve new blog posts before publishing.’ Add the trait to the
Postmodel. All new posts go topendingstate until an admin runs$approval->approve(). The package handles the rest—no custom logic needed."*
How can I help you explore Laravel packages today?