Skip to content

Пакеты для Laravel, созданные опытом

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)
   ключи связи добавлены автоматически

Пакеты ​

Query Buildermyprogs/query-builder

Построение Eloquent-запросов из параметров запроса filter, sort, include и fields, с автоматическими ключами связей при частичной выборке полей. Полная замена spatie/laravel-query-builder, плюс типизированный definitions API с интеграциями Scramble и Larastan.

  • Definitions API: типизированные фильтры с операторами, сортировки по связям, виртуальные поля, все ошибки запроса в одном ответе
  • Scramble: параметры запроса definitions API документируются автоматически, ничего регистрировать не нужно
  • Larastan: определения запросов проверяются до выполнения
  • PHP 8.3+
  • Laravel 12–13
  • MIT