Полная замена spatie
Совместим по API со spatie/laravel-query-builder 7.x — те же имена классов, сигнатуры методов, исключения и файл конфигурации. Переход сводится к смене namespace.
Параметры filter[], sort, include и fields[] проверяются по списку разрешённых и применяются к Eloquent-запросу.
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)
composer require myprogs/query-builderНужны PHP 8.3 или новее и Laravel 12 или 13. Сервис-провайдер подключается автоматически. Дальше — в документацию.