dmn013/eloquence
Eloquence extends Laravel's Eloquent ORM with a suite of opt-in traits: fuzzy searchable models, sortable and sluggable records, soft deletes, cacheable queries, mappable attributes, and more. Drop-in behaviors that keep your models clean and your code expressive.
Sluggable), search (Searchable), user-defined ordering (Sortable), nested/hierarchical records (Recursive), tagging/categorization (Categorizable), and arbitrary metadata (Metable). It gives a PM a concrete menu of low-effort features to slot into a release without a design spike.laravel-sluggable / laravel-searchable, kalnoy/nestedset) is the right source.Searchable lets you defer a search-infrastructure investment (Elasticsearch/Meilisearch/Algolia via Scout) and ship a DB-backed search in an MVP. This is a roadmap timing decision: "cheap search now, real search at scale" — a classic PM trade-off.Sortable and Sluggable are the exact primitives behind drag-and-drop content ordering and SEO-friendly URLs. Their presence or absence directly affects how much admin-UI work a sprint estimate should include.Metable, Categorizable, and Recursive let you postpone schema migrations (EAV-style attributes, tag tables, tree columns), which shifts when you commit to a normalized data model.Consider it when:
Look elsewhere when:
spatie/laravel-sluggable, spatie/laravel-searchable, kalnoy/nestedset, spatie/laravel-tags, Laravel Scout for real search.Adoption criteria (gate checklist): pinned version + compatibility test on your target Laravel/PHP; usage confined behind your own repository/service layer; a named owner and a documented exit plan (fork or replace within N months); no new product surface depends solely on it.
To executives: Eloquence is a free, MIT-licensed toolkit of pre-built Eloquent "extensions" that can shave days off routine features — SEO slugs, search, sortable lists, nested categories, tags, metadata. The catch is maintenance: last shipped in 2019, essentially no ecosystem adoption, and no active maintainer. So the recommendation is not "add a dependency to the platform." It's "use it as a feature catalog and pattern source, adopt maintained single-purpose packages for anything customer-facing, and fork individual traits only where it's clearly cheaper than building." Net effect: we accelerate delivery of common features without inheriting a stale dependency on our critical path.
To engineering: Treat it as a reference implementation and a short-term accelerator, not a platform dependency. If adopted, pin the version, wrap every trait behind our own interfaces, run compatibility tests against our Laravel/PHP target, and assign an owner with a replacement plan. For new work, prefer Spatie/nestedset/Scout for the same capabilities — they're maintained and narrower in scope. The real cost of Eloquence isn't licensing; it's that the next Laravel upgrade becomes our problem.
How can I help you explore Laravel packages today?