Exclude Model Entities From Eloquent With the Laravel Exclusions Package
Published on by Paul Redmond
Laravel Excludable is a package to exclude models from Eloquent queries. You can define a subset of models that should be excluded when you query an individual model or a collection:
use App\Models\Article; $article = Article::query()->findOrFail(1) $article->addToExclusion(); $article->excluded(); // returns true // Throws NotFoundHttpException after exclusionArticle::findOrFail(1);
Similar to the soft deletes functionality, you can include “excluded” models with the following scope:
Article::withExcluded()->get(); // Or only return excluded modelsArticle::onlyExcluded()->get();
Finally, here’s an example of how to configure Eloquent models to support exclusions:
<?php namespace App\Models; use HFarm\Excludable\Excludable; class Article extends Model{ use Excludable; protected $fillable = [ 'title', 'body', ];}
You can learn more about this package, get full installation instructions, and view the source code on GitHub.
This package was submitted to our Laravel News Links section. Links is a place the community can post packages and tutorials around the Laravel ecosystem. Follow along on Twitter @LaravelLinks