Membuat Slug dengan Eloquent Sluggable
Membuat Slug dengan Eloquent Sluggable

08 November 2019 / Muhammad Amirul Ihsan

Assalamualaikum Warrohmatulloh Wabarokatuh,

Kali ini kita akan belajar membuat slug menggunakan sebuah package, kenapa menggunakan package jika pakai fungsi Str::slug ? Alasannya simpel sih, biar ga ribet kalau ada slug yang sama dan harus ngecek dulu, pakai package ini udah ditangani kok masalah itu, sama biar ada topik aja buat tulisan ini :P.

Oke langsung aja kita install packagenya Eloquent Sluggable dengan perintah ini.

composer require cviebrock/eloquent-sluggable

Terus ini nggak wajib sih, tapi kawan kawan bisa terbitkan file konfigurasinya jika ingin mengubah nilai bawaan.

php artisan vendor:publish --provider="Cviebrock\EloquentSluggable\ServiceProvider"

Untuk implementasinya cukup kita ubah file model kita dengan menambahkan kode dibawah ini.

use Cviebrock\EloquentSluggable\Sluggable;

class Post extends Model
{
    use Sluggable;

    /**
     * Return the sluggable configuration array for this model.
     *
     * @return array
     */
    public function sluggable()
    {
        return [
            'slug' => [
                'source' => 'title'
            ]
        ];
    }
}

Tentunya kita membutuhkan kolom di tabel untuk menyimpan slug ini dan kawan kawan harus membuatnya secara manual, kawan kawan juga bisa memberikan nama sesuai keinginan untuk kolom slugnya tinggal nanti disesuaikan saja pada array konfigurasinya, setelah itu ketika kita memasukkan data baru ke dalam tabel, slug akan otomatis dibuatkan oleh package ini.

Wassalamualaikum Warrohmatulloh Wabarokatuh.

Suka dengan artikel ini? Bantu bagikan ke yang lainnya :)