oguzcandemircan/laravel-unique-sluggable

This package allows you to create unique slugs. It keeps all the slugs you define in the slugs table. It also satisfies all requests and directs it to the controller you define in your model.

v0.4.0 2023-09-10 17:56 UTC

This package is auto-updated.

Last update: 2024-10-10 20:14:02 UTC


README

Latest Version on Packagist Total Downloads

This package allows you to create unique slugs. It keeps all the slugs you define in the slugs table. It also satisfies all requests and directs it to the controller you define in your model.

Installation

composer require oguzcandemircan/laravel-unique-sluggable

Usage

Your models should use the OguzcanDemircan\LaravelUniqueSluggable\HasSlug trait and define slugSource property

<?php

namespace App\Models;

...
use OguzcanDemircan\LaravelUniqueSluggable\HasSlug;

class Page extends Model
{
    use HasFactory;
    use HasSlug;
    
    protected $slugSource = 'title';
use App\Models\Page;
use App\Models\Post;

Page::create(['title' => 'Great Title']);
//Slug is great-title
Post::create(['title' => 'Great Title']);
//you get eror

If you want all your requests to be captured and routed automatically, you should add the controller property to your model.

protected $controller [PageController::class, 'show'];

When your application receives a request, OguzcanDemircan\LaravelUniqueSluggable\Controllers\SlugController calls the controller class you defined in your model if there is a matching slug.

Change log

Please see the changelog for more information on what has changed recently.

Testing

$ composer test

Contributing

Please see contributing.md for details and a todolist.

Security

If you discover any security related issues, please email author email instead of using the issue tracker.

Credits

License

license. Please see the license file for more information.