hnhdigital-os / laravel-dynamic-filter
This package is abandoned and no longer maintained.
The author suggests using the hnhdigital-os/laravel-model-search package instead.
Provides dynamic attribute filtering for Laravel's Eloquent Model.
dev-master
2018-09-25 00:10 UTC
Requires
- php: >=5.4.0
- hnhdigital-os/laravel-html-generator: ~1.0
Requires (Dev)
- codeclimate/php-test-reporter: dev-master
- illuminate/database: 4.*|5.*
- phpunit/phpunit: 4.*
- symfony/process: ~2.3
This package is auto-updated.
Last update: 2022-02-01 13:08:32 UTC
README
This package has been discontinued. Consider using Model Search and Model Search Components
Provides the ability to set filtering attributes and model relationship filtering.
This package has been developed by H&H|Digital, an Australian botique developer. Visit us at hnh.digital.
Install
Via composer:
$ composer require hnhdigital-os/laravel-dynamic-filter dev-master
Usage
use Bluora\LaravelDynamicFilter\Traits\ModelTrait; class User extends Model { use ModelTrait; /** * A nice name for the model. * * @var array */ protected $filter_name = 'User'; /** * A list of relationships for this model. * * @var array */ protected $filter_relationships = [ 'Organization' => 'App\Models\Organization' ]; /** * A list of attributes that can be used for the advanced filtering trait. * * @var array */ protected $filter_attributes = [ 'lookup' => [ 'name' => 'Name or email', 'attribute' => ['first_name', 'last_name', 'email', 'organization.name'], 'filter' => 'string', 'search_tab_only' => true, 'with' => 'organization' ], 'first_name' => ['name' => 'First name', 'attribute' => 'first_name', 'filter' => 'string'], 'last_name' => ['name' => 'Last name', 'attribute' => 'last_name', 'filter' => 'string'], 'email' => ['name' => 'Email', 'attribute' => 'email', 'filter' => 'string'], 'is_active' => ['name' => 'Active user', 'attribute' => 'is_active', 'filter' => 'boolean'] ]; }
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.