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?

  1. Automatisasi: Mengisi tabel dengan data dummy secara otomatis.
  2. Reproduksibilitas: Memungkinkan developer untuk mengisi database dengan data yang sama setiap kali mereka melakukan migrasi atau reset database.
  3. Simplicity: Memudahkan dalam membuat dan mengelola data awal.

Cara Membuat Seeder

  1. 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 tabel Users, kita bisa mengetik:

    php artisan make:seeder UsersTableSeeder
  2. Mengedit Seeder
    Setelah seeder berhasil dibuat, Anda bisa menemukan file nya di database/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'),
               ],
           ]);
       }
    }
  3. 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.