Menggunakan Seeder dan Faker pada CodeIgniter 4

Riris Bayu Asrori
3 min readJan 24, 2021

Penjelasan mengenai data migration dapat dibaca pada tulisan Dasar-dasar Database Migration CodeIgniter 4.

Photo by Joshua Lanzarini on Unsplash

Setelah membuat tabel-tabel dalam database, pada tahap pengembangan biasanya kita belum memiliki data apa-apa seperti data user, data produk, data layanan, dan sebagainya. Untuk itu akan sangat membantu apabila kita mempunyai data yang menyerupai atribut mirip seperti ketika aplikasi dijalankan. Misalnya nama, email, dan password. Hadirlah seeder yang digunakan untuk mengisi tabel dengan data yang kita buat sebelumnya untuk memudahkan pengembangan dan testing aplikasi kita.

Apa itu Faker

Sebelum membahas lebih lanjut mengenai seeder, kita berkenalan dulu secara singkat apa itu Faker.

Untuk installasinya menggunakan composer :

composer require fzaninotto/faker

Faker adalah sebuah library yang sesuai namanya bertugas untuk membuat data Fake (palsu). Penggunaan faker di Codeigniter 4 cukup mudah. Misal kita ingin membuat username random:

$faker = Faker\Factory::create();

echo $faker->userName; // 'hcummerata';

Selain userName, lebih lengkapnya bisa dilihat pada laman github faker

Membuat data dengan seeder

Setelah tau cara menggunakan faker, berikutnya kita masukan data ke dalam database dengan menggunakan seeder. CI4 menyediakan fitur ini yang bisa kalian lihat pada dokumentasinya Database Seeding.

Pastikan terlebih dahulu tabel user sudah kalian buat di database

Tabel User

Mari kita membuat skrip seeder pada direktori app\Database\Seeds dengan membuat file baru bernama UserSeeder.php .

Membuat Seeder baru

Buka file UserSeeder.php, dan buat class UserSeeder pada file tersebut.

<?php namespace App\Database\Seeds;class UserSeeder extends \CodeIgniter\Database\Seeder
{
public function run()
{
$faker = \Faker\Factory::create();
$data = [
'username' => $faker->userName,
'email' => $faker->email,
'password' => $faker->password
];
$this->db->table('user')->insert($data);
}
}

Setelah seeder di definisikan, buka terminal projek dan jalankan php spark db:seed UserSeeder untuk memasukkan ke database.

Maka data akan dibuat seperti gambar dibawah

Hasil seeding

Untuk membuat data lebih banyak misalnya 100 baris tinggal tambahkan perulangan saja

<?php namespace App\Database\Seeds;class UserSeeder extends \CodeIgniter\Database\Seeder
{
public function run()
{
for($i=0; $i<100; $i++) {
$faker = \Faker\Factory::create();
$data = [
'username' => $faker->userName,
'email' => $faker->email,
'password' => $faker->password
];
$this->db->table('user')->insert($data);
}
}
}
Hasil seeding 100 data.

Sekian saja pembahasan mengenai seeder dan faker pada CI4. Semoga bermanfaat.

--

--