jwohlfert23/laravel-api-query

Provides laravel scope to build query from request query params
17,015
Install
composer require jwohlfert23/laravel-api-query
Latest Version:v6.1.2
PHP:^8.2
Laravel:11 · 12 · 13
Older releases:6 – 10
License:MIT
Last Updated:Jul 1, 2026
Links: GitHub  ·  Packagist
Maintainer: jwohlfert23

Build Eloquent Queries from Request Query Params

Installation

composer require jwohlfert23/laravel-api-query

Usage

This package is implemented as a trait, which provides the buildFromRequest scope.

use Jwohlfert23\LaravelApiQuery\BuildQueryFromRequest;

class Post {
    use BuildQueryFromRequest;
}
Post::buildFromRequest()->get();
?sort=-id,name

is the same as:

Post::orderByDesc('id')->orderBy('name');
?filter[name]=Bobby&filter[author.name][contains]=Bob

is the same as:

Post::where('name', 'Bobby')->whereHas('author', function($q) {
    $q->where('name', 'like', '%Bob%');
});

Note: this package doesn't use "whereHas", but rather performs left joins internally. However, the results should be the same as the above code.

Filters default to using the "equal" operator. These are the operators available to use in filtering (contains is use above).

  • eq (=)
  • gt (>)
  • gte (>=)
  • lt (<)
  • lte (<=)
  • contains
?with=author,comments

is the same as

Post::with('author','comments');

Related Packages

illuminatech/data-provider

Allows easy build for DB queries from API requests

15,166 44
bjerke/api-query-builder

A query builder for Laravel that parses the request and uses Eloquent ORM to que...

7,945 26
20tries/filterable

A package to simplify the process of filtering controller / api results.

3,371 1
sheikhheera/requent

A GraphQL like interface to map a request to eloquent query with data transforma...

171 78
bjerke/laravel-bread

A boilerplate package for BREAD operations through REST API in Laravel

5,223 11

Version History

Version Released PHP Laravel License
v6.1.2 ^8.2 ^11.0|^12.0|^13.0 MIT
v6.1.1- ^8.2 ^11.0|^12.0|^13.0 MIT
6.1.0 ^8.2 ^11.0|^12.0|^13.0 MIT
6.0.2 ^8.2 ^11.0|^12.0 MIT
6.0.1 ^8.2 ^11.0|^12.0 MIT