Tutorial Lengkap Laravel Seeder. Dalam proses pengembangan aplikasi, sering kali kita membutuhkan data dummy agar bisa mengetes fitur-fitur yang sedang dibuat. Mengisi data secara manual tentu akan memakan waktu dan tidak efisien. Laravel menyediakan dua fitur bawaan yang sangat membantu untuk keperluan ini: Seeder dan Factory. Keduanya memungkinkan kita membuat data tiruan dengan cepat, rapi, dan konsisten.
Artikel Tutorial Lengkap Laravel Seeder dan Factory ini akan membahas konsep kedua fitur tersebut, cara kerjanya, serta bagaimana menggabungkannya secara efektif.
Apa itu Laravel Seeder
Seeder adalah fitur Laravel untuk mengisi tabel database dengan data awal. Seeder sangat berguna ketika kita ingin menyediakan data standar, seperti data admin default, daftar kategori, atau data pengujian.
Laravel menyediakan perintah untuk membuat seeder dengan cepat:
php artisan make:seeder UserSeeder
Setelah itu, seeder akan dibuat di direktori database/seeders.
Contoh Laravel Seeder
Misalkan kita ingin menambahkan satu akun admin ke dalam tabel users:
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
class UserSeeder extends Seeder
{
public function run(): void
{
DB::table('users')->insert([
'name' => 'Admin',
'email' => 'admin@example.com',
'password' => Hash::make('password'),
]);
}
}Menjalankan Laravel Seeder
Untuk menjalankan seeder, gunakan perintah:
php artisan db:seed --class=UserSeeder
Atau menjalankan semua seeder yang terdaftar dalam DatabaseSeeder:
php artisan db:seed
Seeder membantu menyiapkan data awal secara otomatis tanpa mengetik manual di database.
Memahami Seeder dan Factory di Laravel Adalah Cara Praktis Mengisi Data Dummy untuk Pengembangan
Apa itu Laravel Factory?
Factory adalah fitur yang digunakan untuk membuat objek model dengan data palsu (dummy) secara otomatis. Factory sangat cocok untuk pengujian unit, seeding massal, atau simulasi data aplikasi.
Laravel menggunakan library Faker untuk menghasilkan data tiruan seperti nama, email, alamat, tanggal, dan sebagainya.
Membuat Factory
Laravel sudah membuat factory default untuk model User ketika project baru dibuat. Jika ingin membuat factory baru:
php artisan make:factory ProductFactory --model=Product
Contoh Factory
use Illuminate\Database\Eloquent\Factories\Factory;
class UserFactory extends Factory
{
public function definition(): array
{
return [
'name' => fake()->name(),
'email' => fake()->unique()->safeEmail(),
'password' => bcrypt('password'),
];
}
}
Menggunakan Factory
User::factory()->count(10)->create();
Kode di atas akan menghasilkan 10 data user secara otomatis.
Cara Menggunakan Seeder dan Factory Bersama-sama
Kombinasi seeder dan factory membuat pengisian database menjadi sangat efisien. Biasanya, kita memanggil factory di dalam seeder untuk membuat data dummy dalam jumlah banyak.
Contoh Implementasi
Edit file DatabaseSeeder:
use Illuminate\Database\Seeder;
use App\Models\User;
class DatabaseSeeder extends Seeder
{
public function run(): void
{
User::factory(50)->create();
}
}
Lalu jalankan:
php artisan db:seed
Hasilnya, tabel users akan terisi dengan 50 data user acak. Teknik ini sangat berguna saat:
- Membuat tampilan dashboard yang butuh data banyak.
- Menguji filter, pagination, dan fitur pencarian.
- Simulasi performa aplikasi saat data bertambah.
Kesimpulan
Seeder dan Factory adalah dua fitur penting di Laravel yang membantu mengotomatiskan proses pengisian data ke database. Seeder berguna untuk menambahkan data awal atau data tetap, sementara Factory sangat cocok untuk membuat data dummy dalam jumlah besar. Dengan menggabungkan keduanya, kita dapat mempercepat proses pengembangan dan pengujian aplikasi secara signifikan.
Cobalah mulai menggunakan keduanya dalam proyek Anda, eksplorasi lebih dalam dokumentasi Laravel, dan sesuaikan kebutuhan data sesuai skenario aplikasi yang sedang Anda bangun. Penggunaan yang tepat akan membuat workflow lebih efisien dan produktif.

