This is a PHP library for Laravel that provides a fluent API to build Eloquent queries from HTTP request query parameters, enabling filtering, sorting, including relationships, and selecting fields. It is implemented as a wrapper around Laravel's Eloquent Builder, parsing query string parameters like 'filter', 'sort', 'include', and 'fields' to dynamically modify the underlying query. The architecture consists of a central QueryBuilder class that delegates to specialized concerns (FiltersQuery, SortsQuery, AddsIncludesToQuery, AddsFieldsToQuery) and uses a set of pluggable filter, sort, and include implementations that implement defined interfaces. External dependencies are limited to Laravel's illuminate packages and spatie/laravel-package-tools. The library is widely used and well-tested, with extensive documentation.
This repository is a Laravel package that provides a server-side processing engine for jQuery DataTables. It handles AJAX requests from DataTables, performing searching, sorting, pagination, and column formatting on data sourced from Eloquent ORM, Query Builder, or in-memory collections. The architecture uses a factory pattern (DataTables class) to select the appropriate engine (EloquentDataTable, QueryDataTable, CollectionDataTable, PaginatorDataTable, ApiResourceDataTable) based on the source type. Each engine extends the abstract DataTableAbstract class, which defines the common workflow: count total records, apply global and column filters, order, paginate, fetch results, process rows (add/edit columns, format), and render a JSON response. The package integrates deeply with Laravel's service container and configuration system, and includes support for eager-loaded relations, complex query counting, and optional full-text search via Laravel Scout. The codebase is well-structured, extensively tested, and follows modern PHP practices.
Laravel Visits is a Laravel package that provides visit tracking functionality for Eloquent models. It implements a counter system with IP-based deduplication, period-based tracking (day, week, month, year), and visitor metadata collection (country, referrer, OS, language). The architecture features a pluggable data engine abstraction supporting both Redis and Eloquent/database storage, with traits separating concerns like listing, period handling, recording, and setting configuration. The package integrates with Laravel via a service provider and offers a simple helper function for accessing visit tracking capabilities on any model.
This Laravel package provides an Eloquent-like interface for AWS DynamoDB, allowing developers to use familiar ORM methods with DynamoDB while maintaining compatibility with Laravel's ecosystem. The package implements a sophisticated query builder that translates Eloquent-style conditions into efficient DynamoDB operations, intelligently choosing between Query and Scan operations and selecting optimal indexes when available. Key features include support for simple and composite keys, global/secondary indexes, asynchronous operations via AWS SDK promises, query scopes, and automatic attribute marshaling/unmarshaling. The architecture follows Laravel conventions with service providers, facades, and a base DynamoDbModel class. Notable components include a condition analyzer that optimizes query operations and a parser subsystem that correctly builds DynamoDB expression syntax with proper attribute name/value handling.
Validating is a Laravel package that provides a trait for Eloquent models to automatically validate model attributes before saving. It integrates with Laravel's event system via an observer to trigger validation on model saving and restoring events. The package handles unique rule injection by automatically appending the model's ID to unique validation rules, supports custom validation messages, and provides methods to check validity, retrieve errors, and save with various validation behaviors (including exception throwing). The architecture is centered around the ValidatingTrait, which encapsulates validation logic, rule preparation, and validator creation, while delegating event handling to a separate observer class.
ModelTyper is a Laravel package that generates TypeScript interfaces and types from Eloquent models. It provides artisan commands (`model:typer` and `model:typer-mappings`) to inspect model columns, accessors, relationships, counts, exists, sums, enums, and custom interfaces, producing accurate TypeScript definitions. The architecture follows Laravel package conventions with a service provider, invokable action classes, and a custom override of Laravel's ModelInspector to support custom relationships and nullable return types. The codebase is well-structured, with comprehensive test coverage and support for multiple output formats (CLI, JSON, file). It is actively maintained and supports Laravel 11.33+ and PHP 8.2+.
Cloner is a Laravel package that provides a trait for Eloquent models to duplicate models, their relationships, and file attachments. The core functionality resides in the Cloner service class which handles the cloning process, including relationship traversal and file duplication via an adapter pattern. The package supports cloning to the same or different database connections (with limitations for many-to-many relations across databases) and fires events during the cloning process. It is designed as a reusable library for Laravel applications, with a service provider for easy integration.