comhon-project/laravel-entity-requester

laravel library that permits to handle complex requests to retrieve entities through a REST API

Maintainers

Package info

github.com/comhon-project/laravel-entity-requester

pkg:composer/comhon-project/laravel-entity-requester

Fund package maintenance!

comhon-project

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 1

v0.9.0 2026-04-08 22:21 UTC

README

Latest Version on Packagist GitHub Tests Action Status Code Coverage GitHub Code Style Action Status Total Downloads

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.