Download the PHP package skore-labs/laravel-status without Composer
On this page you can find all versions of the php package skore-labs/laravel-status. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download skore-labs/laravel-status
More information about skore-labs/laravel-status
Files in skore-labs/laravel-status
Package laravel-status
Short Description Laravel code-typed statuses for models
License MIT
Informations about the package laravel-status
Laravel status
⚠️ This package is gonna be deprecated in favour of this one: https://github.com/open-southeners/laravel-model-status
Laravel code-typed statuses for Eloquent models.
Status
Getting started
You can install the package via composer:
Then you will need to publish the package config and migrations, so then you can modify and/or migrate the new statuses table:
Setup models
Add statuses to your model by adding SkoreLabs\LaravelStatus\Traits\HasStatuses
and the interface SkoreLabs\LaravelStatus\Contracts\Statusable
so that it can pass some predefined events (see above), here's an example:
Customize enum for status check (using spatie/enum package, check their documentation):
Note: This is not required, only if you DON'T have all your model status enum classes stored in App\Enums
as ModelStatus
.
Usage
- hasStatus
- setStatus
- setStatusWhen
- status
- statuses
- getDefaultStatus
Note: All methods doesn't have case sensitive on status names.
hasStatus
Check if model has status(es).
Note: It returns the current matched status name.
setStatus
Set status or mutate status only if the previous status match the key.
You can also use the attribute to set a status:
setStatusWhen
You can also do the same with setStatusWhen
method like the example above with setStatus
.
status
If a parameter is provided, it acts as an alias of hasStatus.
If an associative array is provided, it acts as an alias of setStatus.
Otherwise, it will just retrieve the relationship as $post->status
or $post->status()->first()
Also you can filter by scope:
statuses
Get all the possible model statuses.
getDefaultStatus
Get the model's default status.
Support
This and all of our Laravel packages follows as much as possibly can the LTS support of Laravel.
Read more: https://laravel.com/docs/master/releases#support-policy
Credits
- Ruben Robles (@d8vjork)
- Skore (https://www.getskore.com/)
- Spatie for the Enum package (https://spatie.be/)
- And all the contributors
All versions of laravel-status with dependencies
spatie/enum Version ^3.9
illuminate/database Version ^6.0|^8.0|^9.0
illuminate/support Version ^6.0|^8.0|^9.0