Laravel 8 membuat atau generate slug unique. Dalam tutorial ini, Anda akan belajar cara membuat slug unique atau URL slug ramah seo sebelum menyimpan ke database di aplikasi laravel 8 menggunakan eloquent sluggable laravel package.
Terkadang, Anda membuat project posting blog di aplikasi laravel 8. Pada saat itu, perlu membuat atau menghasilkan slug unique untuk setiap posting blog di aplikasi laravel 8.
Jadi, tutorial ini akan memandu Anda langkah demi langkah dalam membuat atau membuat slug unique untuk setiap posting di project posting blog laravel 8 Anda.
Membuat slug unique di laravel
Step 1 – Install Laravel 8 App
Pertama-tama, Jalankan perintah berikut di terminal untuk menginstal aplikasi laravel 8. Jadi, buka command prompt Anda dan jalankan perintah berikut:
composer create-project --prefer-dist laravel/laravel Blog
Step 2 – Connecting App to Database
Pada langkah ini, Kunjungi direktori root project aplikasi laravel 8 dan buka file .env . Kemudian tambahkan kredensial database di file .env:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=here your database name here
DB_USERNAME=here database username here
DB_PASSWORD=here database password here
Step 3 – Install Eloquent Sluggable Package
Pada langkah ini, jalankan perintah berikut pada terminal, instal paket eloquent sluggable untuk menghasilkan slug unique:
composer require cviebrock/eloquent-sluggable
Setelah berhasil menginstal paket Eloquent Sluggable, ketik perintah yang diberikan di bawah ini di command prompt:
php artisan vendor:publish --provider="Cviebrock\EloquentSluggable\ServiceProvider"
Step 4 – Build Model and Migration
Pada langkah ini, jalankan perintah berikut di terminal untuk membuat model dan file migrasi:
php artisan make:model Post -m
Perintah it akan membuat satu nama model Post dan juga membuat satu file migrasi untuk tabel post. Setelah berhasil menjalankan perintah, buka database / file migrasi dan letakkan di bawah ini di sini:
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatePostsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->string('slug');
$table->text('description');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('posts');
}
}
Selanjutnya, migrasikan tabel menggunakan perintah di bawah ini:
php artisan migrate
Sekarang, tambahkan bisa diisi * properti di * post.php file, yang ditempatkan di dalam direktori app/model:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Post extends Model
{
use HasFactory;
protected $fillable = [
'title',
'slug',
'description',
];
public function sluggable()
{
return [
'slug' => [
'source' => 'title'
]
];
}
}
Step 5 – Add Routes
Pada langkah ini, kunjungi direktori route dan buka web.php . Kemudian tambahkan route berikut ke file web.php:
<?php
Route::get('/', function () {
return view('welcome');
});
Route::resource('posts', 'PostController');
slug
generate slug unique laravel example
laravel