Download the PHP package rostislav/laravel-filters without Composer
On this page you can find all versions of the php package rostislav/laravel-filters. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Please rate this library. Is it a good library?
Informations about the package laravel-filters
📦 Laravel Filters — Универсальный фильтр для Eloquent и Query Builder
Простой, мощный и гибкий инструмент для фильтрации, сортировки и поиска данных в Laravel через URL-параметры.
Laravel Filters позволяет вам строить сложные API-запросы без написания ручных where, with, has, orderBy и т.д. — всё делается через URL-параметры. Подходит для админок, API, дашбордов и любых систем с фильтрами.
✅ Возможности
| Функция | Описание |
|---|---|
| 🔍 Фильтрация по полям | ?filterEQ[status]=active&filterEQ[category_id]=5 |
| 🧩 Фильтрация по связям (whereHas) | ?filterEQ[category.name]=Books&filterLIKE[user.email][email protected] |
🔗 Eager loading (with) |
?extends=user,posts |
📊 Подсчёт связанных моделей (withCount) |
?extendsCount=comments,likes |
⚖️ Поиск по нескольким полям (filterQ) (требуется указывать по каким полям) |
?filterQ=John — ищет по name, email, phone |
🔁 Исключение связей (doesntHave) |
?doesntHave=posts — только пользователи без постов |
| 📏 Сортировка | ?sort=-created_at,name — по убыванию/возрастанию |
| 📑 Пагинация | Автоматическая с ?limit=20 |
🛠 Установка
composer require rostislav/laravel-filters
## Использование
use Illuminate\Http\Request;
use Rostislav\LaravelFilters\Filter;
// В контроллере:
public function index(Request $request) // получение списка
{
return Filter::all(
$request, // Запрос от пользователя
Post::class, // Модель или QueryBuilder
['name', 'email', 'status'], // Разрешённые для фильтрации поля
[], // Вложенные условия (см. ниже)
['title', 'LIKE'], // Поля для поиска filterQ
['name', 'LIKE', 'category'], // Поиск в таблице по связи с category
['content', 'LIKE'],
);
}
public function show(Request $request, int $id) // получение одной записи
{
return Filter::one(
$request, // Запрос от пользователя
Post::class, // Модель
$id, // Идентификатор
[['email', 'like', '@company.com']] // Дополнительные условия
);
}
## Доступные фильтры:
пример использования: filterEQ[title]=name
В ORM - Post::where('title', 'name')
Доступные значения:
EQ - =
NEQ - !=
EQN - IS NULL
NEQN - IS NOT NULL
GEQ - >=
LEQ - <=
GE - >
LE - <
LIKE - <
IN - in
NotIN - not inAll versions of laravel-filters with dependencies
PHP Build Version
Package Version
Requires
php Version
>=8.0
laravel/framework Version 5.*|6.*|7.*|8.*|9.*|10.*|11.*|12.*
staudenmeir/eloquent-has-many-deep Version ^1.19
laravel/framework Version 5.*|6.*|7.*|8.*|9.*|10.*|11.*|12.*
staudenmeir/eloquent-has-many-deep Version ^1.19
The package rostislav/laravel-filters contains the following files
Loading the files please wait ...