Laravel Packages

A Package to Manage Model Status in Laravel

Published
A Package to Manage Model Status in Laravel image

The Laravel Model Status package by Muhammed ElFeqy automates adding configurable status columns to models and migrations. This package provides an easy-to-use HasActiveScope trait, a Status enum, middleware for ensuring active users, and a custom Artisan command to streamline your workflow.

use Thefeqy\ModelStatus\Traits\HasActiveScope;
 
class ExampleModel extends Model
{
use HasActiveScope;
 
protected $fillable = ['name'];
}
 
$model->activate(); // Give the model an active status
$model->deactivate(); // Deactivate the model
 
// Only active models
$activeModels = ExampleModel::all();
 
// Include inactive models
$allModels = ExampleModel::withoutActive()->get();

This model also includes a middleware, which enforces a route that can only be accessed by users with an active status. The EnsureAuthenticatedUserIsActive in this example will log the user out and send them a 403 Forbidden response if their account is inactive:

use Illuminate\Support\Facades\Route;
use Thefeqy\ModelStatus\Middleware\EnsureAuthenticatedUserIsActive;
 
Route::middleware(['auth', EnsureAuthenticatedUserIsActive::class])
->group(function () {
Route::get('/dashboard', function () {
return 'Welcome to your dashboard!';
});
});

Main Features

  • Add a configurable status column to models and migrations.
  • Automatically handle global scopes for active statuses.
  • Enforce user activity with the EnsureAuthenticatedUserIsActive middleware.
  • Activate or deactivate models with simple methods.
  • Support dynamic configuration for the column name, default value, and length.
  • Includes a make:model-status command.

You can learn more about this package, get full installation instructions, and view the source code on GitHub. You can install this package in your project via Composer using the following command:

composer require thefeqy/laravel-model-status
Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

serpapi logo
SerpApi

The Web Search API for Your LLM and AI Applications

Visit SerpApi

The latest

View all →
Critical Token Guard Auth Bypass Fixed in Laravel 13.29 and 12.68 image

Critical Token Guard Auth Bypass Fixed in Laravel 13.29 and 12.68

Read article
Run Large PlanetScale Queries in Laravel With DB::olap() image

Run Large PlanetScale Queries in Laravel With DB::olap()

Read article
Fluent Rule Builders for All Laravel Validation Rules image

Fluent Rule Builders for All Laravel Validation Rules

Read article
Laravel URL AI Transformer: Extract Structured Data From URLs image

Laravel URL AI Transformer: Extract Structured Data From URLs

Read article
Rule Builders for Every Validation Rule in Laravel 13.36 image

Rule Builders for Every Validation Rule in Laravel 13.36

Read article
PHP News: A New Site for PHP Releases, RFCs, and Packages image

PHP News: A New Site for PHP Releases, RFCs, and Packages

Read article