Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Orm Slug Field Laravel Package

mindy/orm-slug-field

A Laravel/PHP ORM field package that adds automatic URL-friendly slug generation and management to your models, with configurable source fields and uniqueness handling for clean, SEO-friendly routes.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for slug generation. Slugging looks trivial until it isn't (uniqueness, transliteration, collision suffixes, slug history, redirects after rename). This package is a useful specification artifact for scoping that work: read it, count the edge cases it does and doesn't handle, and size the internal ticket accordingly. The decision it informs is usually "adopt a mature Eloquent slug library," not "adopt this."
  • Content model and URL architecture. Whether slugs are a first-class persisted column, whether they're mutable, and whether old slugs 301-redirect are product decisions that touch SEO, analytics attribution, and broken-link rates. Reviewing a slug field type forces those questions early, before schema migrations are expensive.
  • CMS / commerce roadmap items. Category pages, product URLs, blog permalinks, and landing pages all depend on the same primitive. If slugging is on the roadmap for more than one surface, standardize it once rather than letting three teams hand-roll Str::slug() plus a while (exists) loop.
  • Internationalization and multi-tenant routing. If slugs must be per-locale, per-store, or unique-per-tenant, that constraint changes the data model (unique indexes scoped to tenant/locale, not globally). This package's scope helps you decide whether your requirements are "table stakes" or "bespoke," which drives whether you buy or build.
  • Technical due diligence as a decision input. Zero dependents and a single star is itself a decision datum: it tells you the PHP community has not vetted this code path. That's a legitimate "reject with rationale" outcome, and documenting it prevents the same evaluation from being repeated next quarter.
  • Framework-consistency decisions. This targets the MindyPHP ORM, not Eloquent. For a Laravel shop, the real decision it surfaces is whether to permit non-Eloquent ORM patterns in the codebase at all — usually no.

When to Consider This Package

Consider it only if:

  • Your stack is genuinely MindyPHP's ORM and you have no Eloquent-based alternative. In that narrow case, a purpose-built slug field type is strictly better than a hand-rolled observer.
  • Your requirements are the simple case: single locale, global uniqueness, slug derived from one source column, renames are rare enough that redirects can be handled manually.
  • You are evaluating, not committing — treating the source as a reference implementation to inform an internal build or a comparison against spatie/laravel-sluggable or cviebrock/eloquent-sluggable.

Look elsewhere if:

  • You are on Laravel with Eloquent. The package does not apply, and the mature, widely depended-on Eloquent slug libraries are the correct comparison set. Do not port this code into Eloquent as a shortcut; port the requirements list.
  • You need slug history and automatic 301 redirects after a title change. This is the single most common production gap and is typically out of scope for field-type libraries.
  • You need per-tenant or per-locale uniqueness, Unicode/CJK transliteration, or soft-delete-aware uniqueness.
  • You need a maintenance guarantee, a security review trail, or a responsive maintainer. One star and zero dependents is a strong signal of an unmaintained, single-author, unvetted package — treat it as read-only reference material, not a dependency you ship.
  • You are handling high write volume where slug uniqueness checks against the database become a bottleneck; that's an indexing and contention design problem, not a library choice.

How to Pitch It (Stakeholders)

To executives: This is a small, MIT-licensed PHP utility that generates URL-friendly slugs from a title field. It is not a strategic dependency — it has one star and no downstream users, so we should treat it as a design reference rather than a vendor. The product-level ask is modest: agree that slug generation is a shared platform primitive, decide whether URLs are allowed to change after publish (which drives SEO redirect requirements), and fund a single implementation instead of letting each team build its own. Cost is near zero; the risk of not deciding is inconsistent URLs and broken links across surfaces.

To engineering: The package targets MindyPHP's ORM, so it is not directly usable in our Eloquent codebase. Value is as a reference: the field type is small enough to read in under an hour and gives us a concrete checklist for collisions, uniqueness, and mutability. Recommendation is to reject it as a dependency on maintenance and ecosystem grounds, and instead specify our own requirements against a proven Eloquent slug library. If anyone proposes adopting it directly, the answer is no unless we migrate ORMs — and the follow-up question should be what our uniqueness scope and redirect behavior are, because those are the decisions that actually cost us.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
coleus/frame
thtg88/journalism
filagora/filagora-ai-forums
rlacerda83/query-parser
socialdept/atp-orm
cboxdk/laravel-assistant-client
socialdept/atp-resolver
socialdept/tenant-domains
tautvydasr/blade-class-names
socialdept/color-scales
maherelgamil/controller
coleus/widgets
coleus/table
coleus/users
coleus/music
coleus/health
coleus/calendar
coleus/notes
coleus/support
coleus/settings