webthatmatters/eloquent-dynamic-filters

This package is abandoned and no longer maintained. No replacement package was suggested.

A laravel package for applying dynamic filters to table data.

2.0.0 2020-10-06 14:59 UTC

This package is auto-updated.

Last update: 2022-11-11 15:35:59 UTC


README

A laravel package for applying dynamic filters to table data.

Installation

  • Install package using composer require webthatmatters/eloquent-dynamic-filters
  • Import WebThatMatters\DynamicFilter\DynamicFilter in your file.
  • Implement your own filter class by extending DynamicFilter class.
  • Profit!
<?php
    use WebThatMatters\DynamicFilter\DynamicFilter;
    
    class MyFilterClass extends DynamicFilter {
        ...
    }

Using filters

<?php
    use WebThatMatters\DynamicFilter\Filters\StringFilter;
    
    class MyFilterClass extends DynamicFilter {
        ...
        public function filters() {
            $this->filter('my_filter', new StringFilter());
        }
        ...
    }

Available Filters

  • BooleanFilter
  • CollectionFilter
  • CompositeFilter
  • DateFilter
  • DateTimeFilter
  • MultipleCollectionFilter
  • NumberFilter
  • SoftDeleteOnlyFilter
  • StringFilter

Available Traits

  • PaginatesQueries
  • SortsQueries
  • ValidatesFilters

Testing

To test this package you will need docker

Run tests by running ./tests-docker.sh.

Use flag --full the first time to:

- `build image`
- run `composer install`