Looking to hire Laravel developers? Try LaraJobs

laravel-global-scope maintained by sofa

Description
Easy way to define Laravel eloquent global scope.
Author
Last update
2017/09/26 16:40 (dev-master)
License
Links
Downloads
34 980

Comments
comments powered by Disqus

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:

  1. apply - apply any constraints on the Eloquent\Builder that your scope requires.
  2. OPTIONALLY implement helper methods defining Eloquent\Builder macros etc.

Installation

Package requires PHP 5.4+ and works with Laravel 5/5.1.

  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