Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
January 9, 2022 09:53 am GMT

Membuat Slug Di Laravel

Membuat Slug di Laravel.Apa itu slug? Slug sendiri adalah bagian dari URL/Permalink Website yang merujuk pada sebuah konten secara spesifik.Slug berada di bagian belakang dari permalink,setelah nama domain anda.Kalau biasanya temen-teman buat detail data masih dengan angka seperti dibawah ini.

https://medanincode.com/post/ci4/2/

Dimana 2 adalah id dari si data,ini kurang ramah SEO Friendly,kita akan merubah menjadi seperti dibawah ini agar lebih SEO Friendly.

https://medanincode.com/post/ci4/passing-data-controller-ke-view-di-codeigniter-4/

Str::Slug

Cara paling mudah adalah menggunakan perintah Str::slug('parameter') jadi ketika menyimpan hanya menggunakan code seperti dibawah ini.

<?php...public function store(Request $request){    $post = new Post;     $post->title = $request->title;    $post->slug = Str::slug($post->title, '-');     $post->body = $request->body;    $post->save();}

Tapi kalau hanya dengan cara ini akan ada kendala jika post memiliki title yang sama.Karena slug juga bersifat unique.Daripada teman-teman pusing memikirkan logikannya bisa menggunakan package cviebrock/eloquent-sluggable.

Package cviebrock/eloquent-sluggable

Untuk menggunakan package cviebrock/eloquent-sluggable pertama yang dilakukan adalah install package.

composer require cviebrock/eloquent-sluggable

Setelah terinstal publish konfigurasi file agar bisa merubah settingan default dari package.

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

Update Model laravel teman-teman,contohnya menjadi seperti dibawah ini.

<?phpuse Cviebrock\EloquentSluggable\Sluggable;class Post extends Model{    use Sluggable;    /**     * Return the sluggable configuration array for this model.     *     * @return array     */    public function sluggable(): array    {        return [            'slug' => [                'source' => 'title'            ]        ];    }}

title adalah nama kolom table yang akan dijadikan patokan dari slug.Atau jika ingin menggunakannya tanpa menambahkan di model panggil fungsi SlugService::createSlug seperti contoh dibawah ini.

<?php...use Cviebrock\EloquentSluggable\Services\SlugService;...public function store(Request $request){    $post = new Post;     $post->title = $request->title;    $post->slug = SlugService::createSlug(Post::class, 'slug', $post->title);    $post->body = $request->body;    $post->save();}

Sekian tutorial kali ini,jika ada yang kurang jelas bisa ditanyakan dibawah.Kalau diatas susah gak ada kolom komentar.


Original Link: https://dev.to/medan_in_code/membuat-slug-di-laravel-474k

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To