Eloquent trait for automatically generating unique slugs for Laravel models.
Full documentation: opensource.duma.sh/libraries/php/eloquent-sluggable
- PHP
^8.3 - Laravel
^13.0
composer require kduma/eloquent-sluggableuse 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).