Ketika membuat aplikasi pasti kita membutuhkan data masukkan untuk menguji apakah aplikasi berjalan dengn baik. Tentu kalo datanya masih sedikit, kita secara manual memasukkan lewat form/request ke dalam server. Namun, kita juga bisa memasukkannya secara manual melalui Databae Client seperti phpmyadmin, MySQL Workbench, Robo3T dan lainnya. Kali ini kita akan belajar bagaimana cara membuat factory, seeder, dan faker sehingga kita bisa mengisi database dengan lebih otomatis
Saya sendiri menjalankan seeding sering sekali untuk menguji apakah aplikasi web saya bisa berhasil me-load data dengan baik. Daripada saya ngisi data banyak banyak dan menghabiskan waktu, kenapa tidak dengan command line yang singkat data bisa terisi dengan cepat
Misal saya membutuhkan tabel berisi data data produk lengkap dengan isinya. Tabel ini berisi field nama produk, harga, gambar produk dan deskripsi. Kita membuat factornya terlebih dahulu dengan perintah berikut
php artisan make:factory ProductFactory
Perintah ini akan membuat file ProductFactory di dalam folder databases. Masukkan kode berikut
Dari kode diatas kita memiliki function fake() yang sudah otomatis terinstall di dalam Laravel. Jadi kita tidak perlu menginstal faker lagi
Baca Juga: Laravel Kickstart. Hal Yang Harus Disiapkan Untuk Aplikasi Web Pertama Kamu
Kalian bisa eksplor lebih jauh tentang faker() ini di dalam dokumentasinya
Setelah itu kita harus menjalankan factory ini di dalam file DatabaseSeeder yang berada dalam folder databases/seeders
Baca Juga: Cara Instal Laravel Livewire
Kalian bisa mengganti angka 10 menjadi angka yang kalian inginkan. Ini akan mengenerate berapa jumlah yang dibutuhkan. Kalo 5 berarti akan ada 5 row data yang dibuat pada tabel secara otomatis
php artisan migrate:fresh --seed
Kalo kalian lihat di databasenya (disini saya menggunakan MySQL Workbench), kalian akan menjumpai tabel kita sudah diisi dengan data data random seperti berikut