Download the PHP package xanderevg/grid_filters without Composer
On this page you can find all versions of the php package xanderevg/grid_filters. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download xanderevg/grid_filters
More information about xanderevg/grid_filters
Files in xanderevg/grid_filters
Package grid_filters
Short Description Grid filtering library for Laravel & Symfony. Dynamically apply user-defined filters (text, number, date, ranges) rules to Eloquent/Doctrine queries with unified API. Supports multi-field filters and complex UI-driven data grids.
License MIT
Informations about the package grid_filters
Универсальная библиотека для фильтрации данных в таблицах (Laravel & Symfony)
Описание
Библиотека предоставляет инструменты для динамического добавления условий фильтрации (WHERE) к запросам Laravel Eloquent Builder и Doctrine QueryBuilder на основе параметров, переданных с клиента (например, из UI таблицы).
Библиотека сократит время на реализацию фильтрации таблиц, унифицирует код для Laravel/Symfony и позволит легко масштабировать логику запросов.
Решение идеально подходит для:
- Админ-панелей с гридами.
- Приложений с табличными данными, требующими гибкой фильтрации.
Ключевые возможности
- Поддержка Laravel (Eloquent) и Symfony (Doctrine ORM) из коробки.
- Единый API для обеих платформ.
- Объединение фильтров с помощью логического оператора AND
- Фильтрация по любым полям модели/сущности.
- Несколько фильтров на одно поле.
- Комбинирование фильтров для разных полей.
- Поддержка кэша (Xanderevg\GridFiltersLibrary\Core\Cache\CacheAdapterInterface)
Поддержка типов: текст, число, дата, булево, диапазон, список и др.
Сортировка
- Мультиколоночная сортировка.
- Настраиваемые направления (ASC/DESC).
Пример использования
-
Создание фабрики
$baseFactory = new FilterFactory(); // Бибилиотечные фильтры
$baseFactory = new FilterFactory('App\BaseFilters'); // BaseFilters
$customFactory = (new FilterFactory())->addNamespace('App\CustomFilters'); //Библиотечные + CustomFilters, приоритет у библиотечных
$customFactory = (new FilterFactory('App\BaseFilters'))->addNamespace('App\CustomFilters'); //BaseFilters + CustomFilters, приоритет у BaseFilters
-
Интеграция с DI-контейнерами Laravel:
-
Добавление фильтров
- FilterFacade приблизительно
Поддерживаемые фильтры (из коробки)
- BooleanFilter
- BoolFilter
- DateFilter
- DatetimeFilter
- EditorFilter
- IdFilter
- IntFilter
- NumberFilter
- RolesFilter
- SelectFilter
- SelectTreeFilter
- StringFilter
- StringSelectFilter
- TextFilter
Установка
composer require xanderevg/grid_filters
Кастомизация
Адаптер для кэша
Лицензия
MIT License.
GitHub: https://github.com/xanderevg/grid_filters
TODO
Тесты, включая тесты на реальной бд
All versions of grid_filters with dependencies
ext-json Version *
illuminate/database Version *
doctrine/orm Version *