Pengenalan Seeder
Apa itu Seeder?
Seeder di Laravel adalah sebuah kelas yang digunakan untuk mengisi database dengan data awal. Seeder sangat berguna ketika kita membutuhkan data dummy untuk pengembangan atau pengujian aplikasi. Dengan seeder, kita bisa secara otomatis mengisi tabel-tabel dalam database dengan data yang telah kita definisikan, tanpa harus mengetiknya secara manual.
Mengapa Menggunakan Seeder?
- Automatisasi: Mengisi tabel dengan data dummy secara otomatis.
- Reproduksibilitas: Memungkinkan developer untuk mengisi database dengan data yang sama setiap kali mereka melakukan migrasi atau reset database.
- Simplicity: Memudahkan dalam membuat dan mengelola data awal.
Cara Membuat Seeder
Buat File Seeder
Anda bisa membuat seeder baru dengan menjalankan perintah artisan pada terminal:php artisan make:seeder NamaSeeder
Gantilah
NamaSeeder
dengan nama seeder yang ingin Anda buat. Misalnya, jika kita ingin membuat seeder untuk tabelUsers
, kita bisa mengetik:php artisan make:seeder UsersTableSeeder
Mengedit Seeder
Setelah seeder berhasil dibuat, Anda bisa menemukan file nya didatabase/seeders/NamaSeeder.php
. Selanjutnya, buka file tersebut dan tambahkan kode untuk mengisi tabel. Contoh:use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; class UsersTableSeeder extends Seeder { public function run() { DB::table('users')->insert([ [ 'name' => 'User 1', 'email' => '[email protected]', 'password' => bcrypt('password1'), ], [ 'name' => 'User 2', 'email' => '[email protected]', 'password' => bcrypt('password2'), ], ]); } }
Menjalankan Seeder
Setelah menulis seeder, Anda perlu menjalankannya untuk mengisi data ke tabel. Anda bisa menggunakan perintah:php artisan db:seed --class=UsersTableSeeder
Jika Anda ingin menjalankan semua seeder yang ada, cukup gunakan:
php artisan db:seed
Mengatur Seeder dalam DatabaseSeeder
Laravel juga memiliki kelas DatabaseSeeder
yang terletak di database/seeders/DatabaseSeeder.php
. Anda bisa memanggil seeder lain dari dalam kelas ini. Misalnya:
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
public function run()
{
$this->call(UsersTableSeeder::class);
// Tambahkan seeder lain di sini
}
}
Kesimpulan
Seeder merupakan fitur yang sangat berguna di Laravel untuk mengelola data awal dalam database. Dengan seeder, Anda bisa mengisi tabel dengan data secara otomatis dan membuat proses pengembangan menjadi lebih efisien. Selamat mencoba!
Referensi
Untuk informasi lebih lanjut, Anda bisa mengunjungi dokumentasi resmi Laravel tentang seeder.