protonemedia/laravel-cross-eloquent-search
Search across multiple Eloquent models with one query. Supports pagination, scoped constraints, eager loading, relationship and nested search, full-text search, cross-model sorting, and ordering by relevance. Works with MySQL, PostgreSQL, and SQLite.
Architecture fit: Excellent fit for Laravel applications requiring unified search across multiple Eloquent models. Leverages Laravel's existing ORM and query builder patterns, avoiding new architectural patterns. Supports database-agnostic core functionality while handling DB-specific optimizations (e.g., full-text search implementations). Aligns with Laravel's conventions for relationships, scopes, and pagination.
Integration feasibility: High feasibility via Composer installation. API is intuitive with clear method chaining (e.g., add(), search(), paginate()). Requires Laravel 11+ and PHP 8.2+—existing projects must upgrade if outdated. Integration involves replacing ad-hoc multi-model search logic with package methods, but existing query constraints and eager loading can be directly reused via the add() method's query builder support.
Technical risk:
How can I help you explore Laravel packages today?