Seeder & Factory
Penjelasan
Seeder dipakai untuk mengisi database dengan data awal/dummy secara terprogram — dibuat lewat php artisan make:seeder, dijalankan lewat php artisan db:seed. Factory (sering dipakai bareng seeder) mendefinisikan cara menghasilkan data PALSU (fake) dalam jumlah banyak, biasa memakai library Faker di baliknya.
Contoh Konsep
<?php
// database/seeders/ProdukSeeder.php
namespace Database\Seeders;
use App\Models\Produk;
use Illuminate\Database\Seeder;
class ProdukSeeder extends Seeder
{
public function run(): void
{
Produk::create(['nama' => 'Kaos CompileDaily', 'harga' => 99000]);
Produk::create(['nama' => 'Topi CompileDaily', 'harga' => 59000]);
}
}
// Jalankan lewat terminal:
// php artisan db:seed --class=ProdukSeeder
Praktikum
Buat seeder ArtikelSeeder yang membuat minimal 3 record Artikel lewat Artikel::create() dengan judul dan isi bebas. Tulis juga perintah artisan untuk menjalankan seeder itu sebagai komentar.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Seeder bersifat idempotent HANYA kalau kamu sengaja bikin begitu (mis. pakai updateOrCreate() bukan create()) — menjalankan php artisan db:seed berkali-kali dengan create() biasa akan terus menambah data BARU tiap kali dijalankan, bukan mengganti data yang sudah ada.