Home Web Laravel Cara Mudah Membuat Slug untuk model Eloquent di Laravel

Cara Mudah Membuat Slug untuk model Eloquent di Laravel

0

Spatie Laravel Sluggable adalah package Laravel yang menyediakan fitur untuk membuat slug untuk model Laravel Anda. Slugs adalah nama pendek dan mudah diingat yang digunakan untuk mewakili model Anda di URL.

Untuk menggunakan package Spatie Laravel Sluggable, Anda perlu menginstalnya terlebih dahulu menggunakan Composer. Anda dapat melakukan ini dengan menjalankan perintah berikut di terminal:

composer require spatie/laravel-sluggable

Setelah package Spatie Laravel Sluggable terinstal, Anda perlu mengaktifkannya untuk model Anda. Anda dapat melakukan ini dengan menambahkan kode berikut ke model Anda:

use Spatie\Sluggable\HasSlug;
use Spatie\Sluggable\Sluggable;

class Post extends Model implements Sluggable
{
    use HasSlug;

    // ...
}

Setelah Anda mengaktifkan sluggable untuk model Anda, Anda dapat mulai membuat slug untuk model Anda. Anda dapat melakukan ini dengan menggunakan metode slug(). Metode slug() mengambil satu argumen, yaitu nama kolom yang akan digunakan untuk menyimpan slug.

Misalnya, untuk membuat slug untuk kolom title pada model Post, Anda dapat menggunakan kode berikut:

$post->slug();

Package Spatie Laravel Sluggable juga menyediakan beberapa opsi yang dapat Anda gunakan untuk menyesuaikan slug Anda. Opsi-opsi ini termasuk:

  • slug_separator: Karakter yang akan digunakan untuk memisahkan kata-kata dalam slug. Nilai defaultnya adalah -.
  • slug_unique: Jika diatur ke true, slug akan dibuat unik dengan menambahkan karakter unik di akhir slug jika slug sudah ada. Nilai defaultnya adalah false.
  • slug_generator: Fungsi yang akan digunakan untuk menghasilkan slug. Fungsi ini harus menerima model sebagai argumen pertama dan mengembalikan slug sebagai argumen kedua.

Anda dapat mengatur opsi-opsi ini dengan menambahkan kode berikut ke model Anda:

use Spatie\Sluggable\HasSlug;
use Spatie\Sluggable\Sluggable;

class Post extends Model implements Sluggable
{
    use HasSlug;

    // ...

    public function getSlugOptions()
    {
        return [
            'slug_separator' => '_',
            'slug_unique' => true,
        ];
    }
}

Package Spatie Laravel Sluggable adalah alat yang sangat berguna untuk membuat slug untuk model Laravel Anda. Dengan menggunakan paket Spatie Laravel Sluggable, Anda dapat dengan mudah membuat slug yang unik dan mudah diingat untuk model Anda.