An Interest In:
Web News this Week
- March 19, 2024
- March 18, 2024
- March 17, 2024
- March 16, 2024
- March 15, 2024
- March 14, 2024
- March 13, 2024
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
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To