ryangjchandler/laravel-slug

Simple slugs for your Laravel models.

v1.1.1 2022-10-14 22:47 UTC

README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

This packages provides an opinionated, attribute-driven trait for automatically generating slugs when creating Laravel models.

Installation

You can install the package via Composer:

composer require ryangjchandler/laravel-slug

Usage

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.

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.