sofa / laravel-global-scope
Easy way to define Laravel eloquent global scope.
Installs: 33 673
Dependents: 0
Suggesters: 0
Security: 0
Stars: 30
Watchers: 5
Forks: 5
Open Issues: 0
Requires
- php: >=5.4
- illuminate/database: ~5.0
Requires (Dev)
- mockery/mockery: 0.9.4
- phpunit/phpunit: 4.5.0
- squizlabs/php_codesniffer: 2.3.3
This package is auto-updated.
Last update: 2020-02-07 05:19:25 UTC
README
NOTICE Since Laravel 5.2 the way global scopes work changes drastically, so it's no longer required and in fact invalid to use this package.
Sofa/Laravel-Global-Scope
Easy way to define Eloquent Global Scopes in Laravel 5+.
Introduction
Global scope in Eloquent is a neat feature. However, it doesn't fit the general idea in Laravel of things being easy to implement, in that it might be very hard to remove
the scope from a query, unless you know ins and outs of the Query\Builder
.
That being said, you'll find here short but powerful abstract GlobalScope
that your scopes will extend, and you only need to implement single method:
apply
- apply any constraints on theEloquent\Builder
that your scope requires.- OPTIONALLY implement helper methods defining
Eloquent\Builder
macros etc.
Installation
Package requires PHP 5.4+ and works with Laravel 5/5.1.
- Require the package in your
composer.json
:"require": { ... "sofa/laravel-global-scope": "0.1@dev", },
Usage example
Let's compare this basic scope with the enhanced scope.
Roadmap
- Abstract GlobalScope -
remove
is done for you - Easier constraint verification
- Handle twisted edge-cases - multi-level nested subquery wheres
- Generators