laravel-model-active
A trait for Laravel to only pull models marked as "active". When the trait is applied to
a model, the queries will, by default, only find rows for that model where
the active column has a value of 1., (*1)
Requirements
Installation
Add package to composer.json, (*2)
composer require daniel-de-wit/laravel-model-active
, (*3)
Usage
Add active
boolean to Eloquent Model:, (*4)
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddActiveModelSupportToArticleTable extends Migration
{
public function up()
{
Schema::create('article', function (Blueprint $table) {
$table->boolean('active')->default(true)->index();
});
}
public function down()
{
Schema::table('article', function (Blueprint $table) {
$table->dropColumn('active');
});
}
}
Add the Active
trait to the model:, (*5)
<?php
class MyModel extends Eloquent
{
use Active;
...
}
Removing Active Scope, (*6)
If you would like to remove the active scope for a given query, you may use the withoutGlobalScope method:, (*7)
<?php
MyModel::withoutGlobalScope(ActiveScope::class)->get();