PHPackages                             act-training/query-builder - 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. [Database &amp; ORM](/categories/database)
4. /
5. act-training/query-builder

ActiveLibrary[Database &amp; ORM](/categories/database)

act-training/query-builder
==========================

A drop in query builder for Laravel models.

2.4.0(2mo ago)17.2k↓40.6%[2 issues](https://github.com/ACT-Training/query-builder/issues)[1 PRs](https://github.com/ACT-Training/query-builder/pulls)1MITPHPPHP ^8.2CI passing

Since Oct 11Pushed 2mo agoCompare

[ Source](https://github.com/ACT-Training/query-builder)[ Packagist](https://packagist.org/packages/act-training/query-builder)[ Docs](https://github.com/act-training/query-builder)[ RSS](/packages/act-training-query-builder/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (28)Versions (51)Used By (1)

Query Builder for Laravel
=========================

[](#query-builder-for-laravel)

Drop-in Livewire components for building query builders, tables, and reports on Eloquent models.

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

[](#installation)

```
composer require act-training/query-builder
```

Optionally, publish the views:

```
php artisan vendor:publish --tag="query-builder-views"
```

Model Setup
-----------

[](#model-setup)

Models should use the `AppliesCriteria` trait:

```
use ACTTraining\QueryBuilder\Support\Criteria\AppliesCriteria;

class Employee extends Model
{
    use AppliesCriteria;
}
```

Components
----------

[](#components)

The package provides three main abstract Livewire components to extend:

ComponentPurpose`QueryBuilder`Full query builder with criteria-based AND/OR filtering`TableBuilder`Simpler table with URL-persisted filters and search`ReportBuilder`Dynamic column selection, save/load/export, optional groupBy### QueryBuilder

[](#querybuilder)

Create a Livewire component that extends `QueryBuilder`. Define `query()`, `columns()`, and `conditions()`:

```
