refinephp/laravel-refine

A Laravel package for elegant and efficient query filtering and sorting.

v1.0.0 2025-05-16 16:47 UTC

This package is not auto-updated.

Last update: 2025-08-23 17:30:19 UTC


README

Laravel Refine is a package that provides elegant and efficient query filtering and sorting for Laravel applications.

Installation

You can install the package via Composer:

composer require refinephp/laravel-refine
php artisan vendor:publish --tag=laravel-refine

Basic Usage

Filtering

To add filtering capabilities to your model, you can simply use the Filterable trait in your model:

use Refinephp\LaravelRefine\Traits\Filterable;

class User extends Model
{
    use Filterable;
}

Following that, you can use the filter method to filter your query results in your controller:

use App\Models\User;

class UserController extends Controller
{
    public function index()
    {
        return User::filter()->get();
    }
}

From your request, you can pass the filter parameters as query string parameters. For example:

GET /users?filters[name][$eq]=John&filters[age][$eq]=30