LaravelPackages.net
Acme Inc.
Toggle sidebar
oleaass/laravel-sluggable

Add unique slugs to Eloquent models in Laravel

90
0
v1.1.1
About oleaass/laravel-sluggable

oleaass/laravel-sluggable is a Laravel package for add unique slugs to eloquent models in laravel. It currently has 0 GitHub stars and 90 downloads on Packagist (latest version v1.1.1). Install it with composer require oleaass/laravel-sluggable. Discover more Laravel packages by oleaass or browse all Laravel packages to compare alternatives.

Last updated

Add slugs to Eloquent models in Laravel

This package allows you to automatically create and/or update slugs when saving Eloquent models.

Installation

$ composer require oleaass/laravel-sluggable

Usage

Make your Eloquent model sluggable

namespace App\Models;

use OleAass\Sluggable\Sluggable;

class Post extends Model
{
    use Sluggable;
    
    public function getSlugOptions() : array
    {
        return [
            'source' => 'title'
        ];
    }
}

Example

$post = \App\Models\Post::create([
    'title' => 'My first post'
]);

echo $post->slug; // Output: my-first-post

Options

These are the available options, with default values, which you can override via getSlugOptions() on your Eloquent model.

[
    'source'            => 'title', // The field used as source for the slug
    'dest'              => 'slug',  // Name of the slug column
    'onCreate'          => true,    // If true, automatically create slug when creating a new resource
    'onUpdate'          => false,   // If true, automatically change slug when updating an existing resource
    'allowOverwrite'    => true,    // If true, overwrite existing slug when updating a resource
    'allowDuplicate'    => false,   // If true, non unique slugs can be created (recommended to be false always)
    'delimiter'         => '-',     // Replace spaces with this
];

Support Me

I spend my free time making packages. So if you want to support me and my work, I would really appreciate if you bough me a coffee.

Buy Me A Coffee

Star History Chart