comhon-project / laravel-entity-requester
laravel library that permits to handle complex requests to retrieve entities through a REST API
Package info
github.com/comhon-project/laravel-entity-requester
pkg:composer/comhon-project/laravel-entity-requester
Fund package maintenance!
Requires
- php: ^8.2
- comhon-project/model-resolver-contract: *
- illuminate/contracts: ^11.0|^12.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- laravel/pint: ^1.14
- nunomaduro/collision: ^7.0|^8.1
- orchestra/testbench: ^9.0|^10.0
- phpunit/phpunit: ^10.5|^11.0|^12.0
This package is auto-updated.
Last update: 2026-04-20 07:07:51 UTC
README
A Laravel package that converts complex REST API filter/sort requests into Eloquent queries, with schema-based validation and authorization.
Features
- Schema-driven: define entity structures and access control via JSON schemas
- Complex filtering: conditions, groups (AND/OR), relationship existence, morph relations, scopes
- Sorting: multi-column, through relationships, with aggregation functions
- Validation & authorization: requests are checked against entity and request schemas
- Schema generation: auto-generate schemas from Eloquent models
- i18n: validation messages translated in 10 languages
Installation
composer require comhon-project/laravel-entity-requester
php artisan vendor:publish --tag="entity-requester-config"
Quick start
Generate schemas from your model:
php artisan entity-requester:make-model-schema App\\Models\\User --filtrable=all --sortable=attributes
Build a query from a request:
use Comhon\EntityRequester\Facades\EntityRequestValidator; use Comhon\EntityRequester\Facades\EloquentBuilderFactory; $entityRequest = EntityRequestValidator::validate($request->all()); $results = EloquentBuilderFactory::fromEntityRequest($entityRequest)->get(); // Or directly from inputs (skips authorization, use only with trusted sources) $results = EloquentBuilderFactory::fromInputs($request->all())->get();
Documentation
To learn more about Laravel Entity Requester, please see the documentation.
Changelog
Please see CHANGELOG for more information on what has changed recently.
License
The MIT License (MIT). Please see License File for more information.