Database Seeder dan Faker pada Laravel

Halo, Sob! Laravel memiliki fitur Seeder dan Faker untuk membantu mengisi database dengan data awal atau data palsu (dummy data) yang bisa sangat membantu kalau kamu ingin melakukan pengujian aplikasi yang membutuhkan data sampel yang banyak.

Seeder dan Faker memiliki fungsi yang sama, yaitu membuat data dummy pada database. Namun, keduanya memiliki perbedaan, simak selengkapnya di bawah ini.

Seeder dan Faker

Definisi Seeder: Seeder adalah fitur di Laravel yang digunakan untuk mengisi database daengan data uji coba secara otomatis menggunakan skrip.

Definisi Faker: Faker adalah library PHP yang digunakan untuk membuat data palsu (dummy) secara otomatis. Laravel mengintergrasikan Faker secara default melalui factory unutk memudahkan pembuatan data acak.

Perbedaan: Seeder adalah alat untuk mengatur apa yang akan diisi ke dalam database. Sedangkan Faker adalah alat untuk membuat data dummy yang akan digunakan dalam Seeder melalui Factory.

Persiapan

Sebelum, mempraktikkan bagaimana Seeder dan Faker bekerja. Buat database terlebih dahulu, misalnya bernama ‘db_laraveltutorial

1-buat-database-konsep-model-view-controller-laravel-mvc

Di dalam database ‘db_laraveltutorial’, buat tabel bernama ‘buku’ dengan kolom:

  • id: interger, primary key, auto increment
  • judul: varchar
  • penulis: varchar
  • tahun_terbit: integer
  • penerbit: varchar
1-buat-tabel-buku
2-isi-tabel-buku

ATAU kalau mau menggunakan query SQL:

				
					CREATE TABLE buku (
    id INT AUTO_INCREMENT PRIMARY KEY,
    judul VARCHAR(255),
    penulis VARCHAR(255),
    tahun_terbit INT,
    penerbit VARCHAR(255)
);

				
			

Setelah database dan tabel sudah siap, isi datanya menggunakan Seeder dan Faker.

Membuat Seeder

Di terminal, buat seeder menggunakan perintah:

				
					php artisan make:seeder BukuSeeder
				
			
3-output-make-seeder-laravel

Edit file database/seeders/BukuSeeder.php:

				
					<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class BukuSeeder extends Seeder
{
    public function run()
    {
        DB::table('buku')->insert([
            'judul' => 'Laravel untuk Pemula',
            'penulis' => 'Ahmad Ramadhan',
            'tahun_terbit' => 2022,
            'penerbit' => 'Informatika Bandung',
        ]);
    }
}

				
			
5-buat-seeder-database-laravel

Buka kembali terminal, lalu jalankan perintah berikut:

				
					php artisan db:seed --class=BukuSeeder
				
			
4-output-seeder-data

Periksa pada tabel buku untuk melihat data dummy yang sudah kamu buat menggunakan seeder.

6-hasil-seeder-database-laravel

Membuat Faker

Untuk membuat Faker, edit kembali BukuSeeder.php untuk membuat data acak:

				
					<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Faker\Factory as Faker;

class BukuSeeder extends Seeder
{
    public function run()
    {
        $faker = Faker::create('id_ID');

        for ($i = 0; $i < 50; $i++) {
            DB::table('buku')->insert([
                'judul' => $faker->sentence(3),
                'penulis' => $faker->name,
                'tahun_terbit' => $faker->numberBetween(1990, 2025),
                'penerbit' => $faker->company,
            ]);
        }
    }
}

				
			
7-buat-faker-database-laravel

Kode ini akan membuat 50 baris data palsu di tabel buku, di mana setiap baris berisi judul, penulis, tahun terbit, dan penerbit yang dihasilkan secara acak oleh Faker.

Baris kode $faker = Faker::create(‘id_ID’); berfungsi membuat objek Faker dengan bahasa Indonesia (id_ID) supaya nama penulis dan perusahaan terlihat seperti data lokal Indonesia.

use Faker\Factory as Faker;  berperan untuk memanggil class Faker.

Jalankan kembali perintah seeder melalui terminal:

				
					php artisan db:seed --class=BukuSeeder
				
			

Periksa di tabel buku untuk melihat data yang sudah kamu generate menggunakan faker.

8-hasil-faker-database-laravel

Dengan Seeder dan Faker, kamu bisa mengisi tabel buku dengan data manual maupun data dummy secara otomatis. Ini sangat membantu saat kamu ingin menguji fitur seperti menampilkan daftar buku, pencarian, pagination, atau CRUD. Selamat mencoba, Sob!

Kalau ada yang masih bingung, jangan ragu hubungi Tim Support Jagoan Hosting via Live Chat atau Open Ticket, Sob!

Simak terus tips-tips seputar domain dan hosting dari Jagoan Hosting di laman Pusat Tutorial Hosting & Domain.

Related Posts
Tips Mengatasi Error Undefined Index / Variable

Pengantar Halo sobat Jagoan! di tutorial kali ini kita bakalan membahas permasalahan Error Undefined Index/Variable. Pasti sekarang kamu lagi main-main Read more

Tutorial Mendeteksi Script Jahat pada Website Sebelum Publish

Hai, Sob kamu pasti tentu tidak ingin jika website kamu dibobol oleh hacker, terutama jika kamu seorang programmer dan webmaster. Read more

Tutorial Install Virus Scanner Clam AV pada cPanel

Kamu ngerasa insecure karena belum install antivirus? Install antivirus emang penting, Sob untuk menjaga performa server kamu. Nah, kamu bisa Read more

Tutorial mereset Password MySQL melalui akses Root

Lupa password root MySQL kamu? Gawat!, tapi kamu gak perlu panik, kita akan bahas bareng tutorialnya berikut ini. Eh, tapi Read more