Looking to hire Laravel developers? Try LaraJobs

laravel-api-query maintained by jwohlfert23

Description
Provides laravel scope to build query from request query params
Author
Last update
2026/04/04 17:53 (dev-master)
License
Links
Downloads
15 950
Tags

Comments
comments powered by Disqus

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');