Skip to main content
Back to packages
4,447 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

Testing in Laravel 13 For Beginners

26 lessons
1 h 41 min read

Laravel 13 Eloquent: Expert Level

41 lessons
1 h 34 min

Queues in Laravel 13

18 lessons
1 h 12 min read

We'd Love Your Feedback

Tell us what you like or what we can improve

Feel free to share anything you like or dislike about this page or the platform in general.