Skip to content

Laravel packages, built on experience

UserController.php
GET /users?fields[users]=name&fields[posts]=title&include=posts
QueryBuilder::for(User::class)
    ->allowedFields('name', 'posts.title')
    ->allowedIncludes('posts')
    ->get();
select "users"."name", "users"."id" from "users"
select "posts"."title", "posts"."user_id" from "posts"
  where "posts"."user_id" in (1, 2, 3)
   relation keys added automatically

Packages ​

Query Buildermyprogs/query-builder

Build Eloquent queries from filter, sort, include and fields request parameters, with automatic relation keys for sparse fieldsets. Drop-in replacement for spatie/laravel-query-builder, plus a typed definitions API with Scramble and Larastan integrations.

  • Definitions API: typed filters with operators, relation sorts, virtual fields, every request error in one response
  • Scramble: query parameters of the definitions API are documented automatically, nothing to register
  • Larastan: query definitions are checked before they run
  • PHP 8.3+
  • Laravel 12–13
  • MIT