PHPackages                             rostislav/laravel-filters - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. rostislav/laravel-filters

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

rostislav/laravel-filters
=========================

v1.0.6.6(8mo ago)0103MITPHPPHP &gt;=8.0

Since Jul 1Pushed 8mo ago1 watchersCompare

[ Source](https://github.com/Rostick0/laravel-filters)[ Packagist](https://packagist.org/packages/rostislav/laravel-filters)[ Docs](https://github.com/Rostick0/laravel-filters)[ RSS](/packages/rostislav-laravel-filters/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (16)Used By (0)

```
# 📦 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]=@gmail.com` |
| 🔗 **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` |

---

## 🛠 Установка

```bash
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 -
LE - <
LIKE - <
IN - in
NotIN - not in

```

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance60

Regular maintenance activity

Popularity11

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~30 days

Recently: every ~55 days

Total

15

Last Release

266d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/32534ec2dfbc2ddaffca3007fa00d650a9476e3958258436120aa6a98567fe09?d=identicon)[Rostick0](/maintainers/Rostick0)

---

Top Contributors

[![Rostick0](https://avatars.githubusercontent.com/u/87297459?v=4)](https://github.com/Rostick0 "Rostick0 (39 commits)")

### Embed Badge

![Health badge](/badges/rostislav-laravel-filters/health.svg)

```
[![Health](https://phpackages.com/badges/rostislav-laravel-filters/health.svg)](https://phpackages.com/packages/rostislav-laravel-filters)
```

###  Alternatives

[wireui/wireui

TallStack components

1.8k1.3M16](/packages/wireui-wireui)[livewire/volt

An elegantly crafted functional API for Laravel Livewire.

4205.3M84](/packages/livewire-volt)[ramonrietdijk/livewire-tables

Dynamic tables for models with Laravel Livewire

21147.4k](/packages/ramonrietdijk-livewire-tables)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
