laravel-enso/filters

Search and interval helpers for Laravel Enso

Maintainers

Package info

github.com/laravel-enso/filters

pkg:composer/laravel-enso/filters

Statistics

Installs: 40 208

Dependents: 4

Suggesters: 0

Stars: 0

Open Issues: 0

3.0.2 2026-04-21 15:25 UTC

README

License Stable Downloads PHP Issues Merge Requests

Description

Filters provides reusable search and date-interval helpers for Laravel Enso and standalone Laravel code.

The package includes a query search helper that supports multiple search modes and relation-aware matching, plus an interval iterator that builds hourly, daily, monthly, or yearly segments across predefined or custom ranges.

It has no routes or migrations. It is a pure helper package.

Installation

Install the package:

composer require laravel-enso/filters

Features

  • Full-text, exact-match, starts-with, ends-with, and negated search modes.
  • Support for custom comparison operators.
  • Search across direct attributes and related attributes.
  • Interval generation for today, week, month, year, custom, and all-time ranges.
  • Time-segment labels suitable for charts and aggregate dashboards.

Usage

Search a query:

use LaravelEnso\Filters\Services\Search;

$query = new Search(User::query(), ['name', 'email'], 'john');
$results = $query->handle();

Build an interval:

use LaravelEnso\Filters\Enums\Intervals;
use LaravelEnso\Filters\Services\Interval;

$interval = new Interval(Intervals::ThisMonth);

API

Services

  • LaravelEnso\\Filters\\Services\\Search
  • LaravelEnso\\Filters\\Services\\Interval

Enums

  • ComparisonOperators
  • SearchModes
  • Intervals
  • TimeSegments
  • Operations
  • Adjustments

Depends On

Required Enso packages:

Companion frontend package:

Contributions

are welcome. Pull requests are great, but issues are good too.

Thank you to all the people who already contributed to Enso!