ryangjchandler / laravel-slug
Simple slugs for your Laravel models.
Requires
- php: ^8.1
- illuminate/contracts: ^9.0
- spatie/laravel-package-tools: ^1.9.2
Requires (Dev)
- nunomaduro/collision: ^6.0
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^7.0
- pestphp/pest: ^1.21
- pestphp/pest-plugin-laravel: ^1.1
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^9.5
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-10-29 16:28:22 UTC
README
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.