حزمة لإدارة حالة الـ model في Laravel

حزمة لإدارة حالة الـ Model في Laravel تُسهّل حزمة Laravel Model Status، من تطوير محمد الفقي، إضافة أعمدة للحالة قابلة للتكوين إلى النماذج (Models) و ترقيات قاعدة البيانات (Migrations). توفر هذه الحزمة سمة `HasActiveScope` سهلة الاستخدام، و `Status` enum، وبرمجيات وسيطة لضمان نشاط المستخدمين، وأمر Artisan مخصص لتبسيط سير عملك.
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();
يشمل هذا النموذج أيضًا برمجيات وسيطة، تُلزم المسار الذي يمكن الوصول إليه فقط من قِبل المستخدمين ذوي الحالة النشطة. سيقوم `EnsureAuthenticatedUserIsActive` في هذا المثال بتسجيل خروج المستخدم وإرسال استجابة `403 Forbidden` إذا كان حسابه غير نشط:
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!';
});
});

الميزات الرئيسية

يمكنك معرفة المزيد حول هذه الحزمة، والحصول على تعليمات التثبيت الكاملة، وعرض `المصدر` على GitHub. يمكنك تثبيت هذه الحزمة في مشروعك عبر Composer باستخدام الأمر التالي:
composer require thefeqy/laravel-model-status
جميع الحقوق محفوظة © 2025 Laravel | عربي