This post is also available in:
English
Hallo apa kabar teman semua, kembali lagi bersama teman ngoding. Tutorial sebelumnya kita telah membahas migrasi menggunakan laravel, kali ini kita akan membahas seeder menggunakan Laravel.
Database seeder pada Laravel berfungsi untuk menjalankan DML (Data Manipulation Language). Database seeder sangat berguna untuk inisiasi data pada tabel atau beberapa tabel ketika setup aplikasi pertama kali. Bisa juga untuk memperbarui data yang sudah ada atau menghapusnya dari belakang layar. Secara pengertian seed dalam bahasa indonesia berarti benih. Maka sebagaimana benih, seeder dapat digunakan untuk membuat sample data atau dummy data dengan command yang sederhana. Maka anda tidak perlu repot untuk melakukan penginputan data secara berulang pada saat proses testing. Hal ini tentunya akan mempercepat proses development yang anda lakukan.
Membuat Database Seeder
Membuat seeder hampir sama dengan membuat migrations,membuat seeder juga dapat di generate menggunakan artisan. Saya buatkan contoh dari seeder sebagai berikut.
php artisan make:seeder PegawaiSeeder
Perintah di atas akan membuat sebuah berkas baru dalam direktori database/seeds
dengan nama PegawaiSeeder.php
. Secara bawaaan, berkas ini sudah berisi sebuah class untuk menjalankan seed tersebut, dilengkapi dengan dependecy class-nya.
class PegawaiSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// isi perintah di sini
}
}
perintah untuk input data ke tabel pegawai bisa kita tulis dalam method run() tersebut.
<?php
use Illuminate\Database\Seeder;
class PegawaiSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// insert data ke table pegawai
DB::table('pegawai')->insert([
'pegawai_nama' => 'Joni',
'pegawai_jabatan' => 'Web Designer',
'pegawai_umur' => 25,
'pegawai_alamat' => 'Jl. Panglateh'
]);
}
}
dan selanjutnya kita jalankan fungsi run() untuk input data testing yang telah kit abuat menggunakan php artisan.
php artisan db:seed --class=PegawaiSeeder
selain dapat di jalankan melalui commend line, kalian juga daapt menjalankan langsung melalui aplikasi yang dibangun.
$command = \Artisan::call('db:seeder', [
'--class' => 'PegawaiSeeder'
]);
Letakkan potongan sintaks di atas sesuai kebutuhan, baik di Controller, Model, Middleware, ataupun Router.
Demikian tutorial yang bisa Teman Ngoding berikan, semoga bermanfaat untuk teman teman semua.
Terimakasih…