PHPackages                             tadasei/laravel-statuses - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. tadasei/laravel-statuses

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

tadasei/laravel-statuses
========================

A package that provides stubs for managing status associations with models

v2.1.0(4mo ago)220MITPHPPHP ^8.1.0

Since Aug 10Pushed 4mo agoCompare

[ Source](https://github.com/Tadasei/laravel-statuses)[ Packagist](https://packagist.org/packages/tadasei/laravel-statuses)[ RSS](/packages/tadasei-laravel-statuses/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (4)Dependencies (7)Versions (5)Used By (0)

Tadasei/laravel-statuses
========================

[](#tadaseilaravel-statuses)

This package provides stubs for statuses association to Eloquent models.

Features
--------

[](#features)

- Quickly generate statuses handling utilities.
- Customize and extend generated code to fit your project's needs.
- Improve development efficiency by eliminating repetitive tasks.

Installation
------------

[](#installation)

You can install the package via Composer by running:

```
composer require tadasei/laravel-statuses --dev
```

### Publishing statuses handling utilities

[](#publishing-statuses-handling-utilities)

To publish statuses handling utilities, use the following command:

```
php artisan statuses:install
```

### Configuring Statusable Models

[](#configuring-statusable-models)

To extend or define which models are considered *statusable*:

- Define a One-to-Many relationship with your model (one `App\Models\Status` has many `App\Models\YourModel`).
- Add your model class name to the `App\Enums\StatusableType` enum.

This allows full flexibility in defining how your application links statuses to models.

### Running migrations

[](#running-migrations)

To create the related `statuses` table, run the generated migration using the following command:

```
php artisan migrate
```

### Register CRUD routes

[](#register-crud-routes)

This package generates a `routes/resources/status.php` route file among its utilities. You can include this file in your `routes/web.php` or `routes/api.php` to enable authenticated and authorized `App\Models\Status` model CRUD operations.

```
// in routes/api.php or routes/web.php
require __DIR__ . "/resources/status.php";
```

Usage:
------

[](#usage)

The usage is the same as any regular One-to-Many relationship:

```
use App\Models\{Status, User};

$status = Status::create([
    "statusable_type" => User::class,
    "name" => "Initial status",
    "color" => "#858662",
    "is_initial" => true,
    "is_final" => false,
]);

$user = User::first();

$status->users()->save($user);
```

Customization
-------------

[](#customization)

The generated code serves as a starting point. You can customize and extend it according to your project's requirements. Modify the generated utilities as needed.

Contributing
------------

[](#contributing)

Contributions are welcome! If you have suggestions, bug reports, or feature requests, please open an issue on the GitHub repository.

License
-------

[](#license)

This package is open-source software licensed under the [MIT license](LICENSE).

###  Health Score

37

—

LowBetter than 83% of packages

Maintenance75

Regular maintenance activity

Popularity10

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~45 days

Total

4

Last Release

139d ago

Major Versions

v1.1.0 → v2.0.02025-09-25

### Community

Maintainers

![](https://www.gravatar.com/avatar/7f56b423b676a1de482a2c09129ce3bfd92a62fdad2dedbed6d9837c3fe7f81d?d=identicon)[Tadasei](/maintainers/Tadasei)

---

Top Contributors

[![Tadasei](https://avatars.githubusercontent.com/u/93480860?v=4)](https://github.com/Tadasei "Tadasei (4 commits)")

---

Tags

laravelstubsbackendstatus

###  Code Quality

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/tadasei-laravel-statuses/health.svg)

```
[![Health](https://phpackages.com/badges/tadasei-laravel-statuses/health.svg)](https://phpackages.com/packages/tadasei-laravel-statuses)
```

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M687](/packages/barryvdh-laravel-ide-helper)[laravel/ui

Laravel UI utilities and presets.

2.7k134.9M601](/packages/laravel-ui)[laravel/breeze

Minimal Laravel authentication scaffolding with Blade and Tailwind.

3.0k31.3M148](/packages/laravel-breeze)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)[erag/laravel-disposable-email

A Laravel package to detect and block disposable email addresses.

226102.4k](/packages/erag-laravel-disposable-email)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
