PHPackages                             grixu/query-builder-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. grixu/query-builder-filters

ActiveLibrary

grixu/query-builder-filters
===========================

Set of filters for laravel-query-builder (made by Spatie)

1.2.2(4y ago)5981[1 issues](https://github.com/grixu/query-builder-filters/issues)[4 PRs](https://github.com/grixu/query-builder-filters/pulls)MITPHPPHP ^7.3 || ^8.0

Since Dec 1Pushed 3y ago1 watchersCompare

[ Source](https://github.com/grixu/query-builder-filters)[ Packagist](https://packagist.org/packages/grixu/query-builder-filters)[ Docs](https://github.com/grixu/query-builder-filters)[ RSS](/packages/grixu-query-builder-filters/feed)WikiDiscussions main Synced today

READMEChangelog (9)Dependencies (9)Versions (14)Used By (0)

Query Builder Filters
=====================

[](#query-builder-filters)

Set of filters for laravel-query-builder (made by Spatie)

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require grixu/query-builder-filters
```

Usage
-----

[](#usage)

This is package is bunch of filters to sue with great package made by [Spatie](https://github.com/spatie): [laravel-query-builder](https://github.com/spatie/laravel-query-builder). Below you can see an examples how to use each of 10 filters from this package.

#### DateAfterField, DateBeforeFilter, DateBetweenFilter

[](#dateafterfield-datebeforefilter-datebetweenfilter)

```
use Grixu\QueryBuilderFilters\DateAfterFilter;
use Grixu\QueryBuilderFilters\DateBeforeFilter;
use Grixu\QueryBuilderFilters\DateBetweenFilter;

// In your Controller or HttpQueryBuilder class for the following request:
// GET /users?filter[date_after]=2020-12-01
// GET /users?filter[date_before]=2020-12-01
// GET /users?filter[date_between]=2020-11-01,2020-12-01
$users = QueryBuilder::for(User::class)
    ->allowedFilters([
        AllowedFilter::custom('date_after', new DateAfterFilter(), 'date_field_name'),
        AllowedFilter::custom('date_before', new DateBeforeFilter(), 'date_field_name'),
        AllowedFilter::custom('date_between', new DateBetweenFilter(), 'date_field_name'),
    ])
    ->get();
```

#### GreaterThanFilter, GreaterOrEqualThanFilter, LowerThanFilter, LowerOrEqualThanFilter

[](#greaterthanfilter-greaterorequalthanfilter-lowerthanfilter-lowerorequalthanfilter)

```
use Grixu\QueryBuilderFilters\GreaterThanFilter;
use Grixu\QueryBuilderFilters\GreaterOrEqualThanFilter;
use Grixu\QueryBuilderFilters\LowerThanFilter;
use Grixu\QueryBuilderFilters\LowerOrEqualThanFilter;

// GET /users?filter[field_gt]=100
// GET /users?filter[field_gte]=100
// GET /users?filter[field_lt]=100
// GET /users?filter[field_lte]=100
$users = QueryBuilder::for(User::class)
    ->allowedFilters([
        AllowedFilter::custom('field_gt', new GreaterThanFilter(), 'field'),
        AllowedFilter::custom('field_gte', new GreaterOrEqualThanFilter(), 'field'),
        AllowedFilter::custom('field_lt', new LowerThanFilter(), 'field'),
        AllowedFilter::custom('field_lte', new LowerOrEqualThanFilter(), 'field'),
    ])
    ->get();
```

#### StartsWithFilter

[](#startswithfilter)

```
use Grixu\QueryBuilderFilters\StartsWithFilter;

// GET /users?filter[some]=93
$users = QueryBuilder::for(User::class)
    ->allowedFilters([
        AllowedFilter::custom('some', new StartsWithFilter(), 'some'),
    ])
    ->get();
```

#### IsNullFilter, NotNullFilter

[](#isnullfilter-notnullfilter)

```
use Grixu\QueryBuilderFilters\IsNullFilter;
use Grixu\QueryBuilderFilters\NotNullFilter;

// GET /users?filter[not_null]=some_field
// GET /users?filter[is_null]=some_field
$users = QueryBuilder::for(User::class)
    ->allowedFilters([
        AllowedFilter::custom('is_null', new IsNullFilter()),
        AllowedFilter::custom('not_null', new NotNullFilter()),
    ])
    ->get();
```

### Testing

[](#testing)

```
composer test
```

### Changelog

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

### Security

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Mateusz Gostański](https://github.com/grixu)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

31

—

LowBetter than 68% of packages

Maintenance16

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 83% 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 ~44 days

Recently: every ~4 days

Total

9

Last Release

1633d ago

PHP version history (3 changes)1.0.0PHP ^7.3

1.0.1PHP ^7.3|^8.0

1.1.1PHP ^7.3 || ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/5d8c571581c6107f12c3cd2e41f576267676757820bf99f779c01f9663cb6bab?d=identicon)[grixu](/maintainers/grixu)

---

Top Contributors

[![grixu](https://avatars.githubusercontent.com/u/67002661?v=4)](https://github.com/grixu "grixu (44 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (9 commits)")

---

Tags

hacktoberfestlaravel-query-buildergrixuquery-builder-filters

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/grixu-query-builder-filters/health.svg)

```
[![Health](https://phpackages.com/badges/grixu-query-builder-filters/health.svg)](https://phpackages.com/packages/grixu-query-builder-filters)
```

###  Alternatives

[owen-it/laravel-auditing

Audit changes of your Eloquent models in Laravel

3.4k33.0M95](/packages/owen-it-laravel-auditing)[fumeapp/modeltyper

Generate TypeScript interfaces from Laravel Models

196277.9k](/packages/fumeapp-modeltyper)[casbin/laravel-authz

An authorization library that supports access control models like ACL, RBAC, ABAC in Laravel.

324339.9k4](/packages/casbin-laravel-authz)[illuminatech/balance

Provides support for Balance accounting system based on debit and credit principle

16137.4k](/packages/illuminatech-balance)[glhd/special

1929.4k](/packages/glhd-special)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)

PHPackages © 2026

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