sofa / laravel-global-scope
Easy way to define Laravel eloquent global scope.
Installs: 34 449
Dependents: 0
Suggesters: 0
Security: 0
Stars: 30
Watchers: 5
Forks: 5
Open Issues: 0
pkg:composer/sofa/laravel-global-scope
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\Builderthat your scope requires.- OPTIONALLY implement helper methods defining
Eloquent\Buildermacros 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 -
removeis done for you - Easier constraint verification
- Handle twisted edge-cases - multi-level nested subquery wheres
- Generators