berthott / laravel-scopeable
Laravel helper for permission scopes
3.0.0
2023-02-16 08:09 UTC
Requires
- haydenpierce/class-finder: ^0.4.3
Requires (Dev)
- doctrine/dbal: ^3.3
- orchestra/testbench: ^8.0
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-03-11 15:33:47 UTC
README
Laravel-Scopeable - A helper for permission scopes in Laravel
This is a helper to add permission scopes to your model by adding a trait. It's used by laravel-crudable and laravel-sheetable.
Installation
$ composer require berthott/laravel-scopeable
Usage
- Create your table and corresponding model, eg. with
php artisan make:model YourModel -m
- Add the
Scopeable
Trait to your newly generated model. - Relate your scopeable model to your User class.
- Now you can use Scopeable::checkScopes() to check whether the currently logged in user has the same scope as the requested resource or Scopeable::filterScopes() to filter a collection for models matching the currently logged in users scopes.
Options
To change the default options use
$ php artisan vendor:publish --provider="berthott\Scopeable\ScopeableServiceProvider" --tag="config"
namespace
: string or array with one ore multiple namespaces that should be monitored for the Scopeable-Trait. Defaults toApp\Models
.namespace_mode
: Defines the search mode for the namespaces.ClassFinder::STANDARD_MODE
will only find the exact matching namespace,ClassFinder::RECURSIVE_MODE
will find all subnamespaces. Defaults toClassFinder::STANDARD_MODE
.
Compatibility
Tested with Laravel 10.x.
License
See License File. Copyright © 2023 Jan Bladt.