This packages provides an opinionated, attribute-driven trait for automatically generating slugs when creating Laravel models.
You can install the package via Composer:
composer require ryangjchandler/laravel-slug
Use the RyanChandler\Slug\Concerns\HasSlug
trait on your model class.
use RyanChandler\Slug\Concerns\HasSlug;
class Post extends Model
{
use HasSlug;
}
By default, this package will generate a slug using a title
column on your model and store the value in a slug
column.
This can be changed using the RyanChandler\Slug\Attribute\Slug
attribute.
use RyanChandler\Slug\Concerns\HasSlug;
use RyanChandler\Slug\Attribute\Slug;
#[Slug(source: 'name', column: 'my_slug')]
class Post extends Model
{
use HasSlug;
}
The source
argument should contain the name of the column you'd like to generate a slug from. The column
argument should contain the name of the column you'd like to store the generated slug in.
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.