Skip to main content
Back to packages
4,451 GitHub stars

spatie/laravel-query-builder

View on GitHub

Description

Filter, sort and include eloquent relations based on a request.

This package allows you to filter, sort and include eloquent relations based on a request. The QueryBuilder used in this package extends Laravel's default Eloquent builder. This means all your favorite methods and macros are still available. Query parameter names follow the JSON API specification as closely as possible.

Filter a query based on a request: /users?filter[name]=John:

use Spatie\QueryBuilder\QueryBuilder;
 
$users = QueryBuilder::for(User::class)
->allowedFilters('name')
->get();
 
// all `User`s that contain the string "John" in their name

Related Content on Laravel Daily

Video
Video
Video

Recent Courses on Laravel Daily