kduma / eloquent-sluggable
Eases using and generating slugs Laravel Eloquent models.
v3.0.0
2026-04-08 14:38 UTC
Requires
- php: ^8.3
- illuminate/database: ^13.0
- illuminate/support: ^13.0
Requires (Dev)
- mockery/mockery: ^1.6
- phpunit/phpunit: ^11.0
This package is auto-updated.
Last update: 2026-04-08 14:42:35 UTC
README
Eloquent trait for automatically generating unique slugs for Laravel models.
Full documentation: opensource.duma.sh/libraries/php/eloquent-sluggable
Requirements
- PHP
^8.3 - Laravel
^13.0
Installation
composer require kduma/eloquent-sluggable
Usage
use KDuma\Eloquent\Sluggable; use KDuma\Eloquent\Attributes\HasSlug; #[HasSlug(from: 'title', field: 'slug')] class Post extends Model { use Sluggable; }
Add a slug column to your migration:
$table->string('slug')->unique();
Slug is auto-generated on create. Find by slug with Post::whereSlug($slug).