Digitalmapia adalah situs dimana semua orang bisa menulis artikelnya sendiri. Klik "Login/Register untuk masuk, lalu klik "Tulis Artikel" untuk mulai menulis.

Cara melakukan seeding pada Laravel

Pada artikel sebelumnya, kita telah membahas tentang cara menggunakan migration pada Laravel. Kali ini saya akan menjelaskan cara melakukan seeding. Apa itu seeding? seeding adalah suatu cara memasukan data pada database melalui kode program, kelebihan dari seeding jika dibandingkan dengan memasukan data secara manual adalah lebih flexibel. Untuk memasukan data pada database lain, anda tinggal copy seed-nya saja, kemudian dieksekusi.

Kali ini, kita akan melakukan seeding terhadap database yang telah kita buat sebelumnya. Langkah-langkah-nya yaitu sebagai berikut:

  • Pertama-tama, pastikan di dalam direktori app/models terdapat sebuah model bernama User.
  • Kemudian, buka file app/database/seed/DatabaseSeeder.php. Ubah isi dari file tersebut menjadi seperti di bawah ini:
    <?php
    
    class DatabaseSeeder extends Seeder {
    
     public function run()
     {
       Eloquent::unguard();
    
       $this->call('UserTableSeeder');
     }
    
    }
    class UserTableSeeder extends Seeder
    {
    
       public function run(){
    
              User::create(array(
    
                'email' => 'info@08ers.com',
                'name' => 'Taw ming seu',
    
              ));
    
       }
    
    }
    ?>
  • Kemudian, melalui command-line, jalankan perintah php artisan db:seed. Maka, sebuah record baru akan masuk pada tabel yang anda buat sebelumnya melalui migrasi. Selain menggunakan perintah tersebut, anda juga bisa menggunakan perintah php artisan migrate --seed atau php artisan migrate:refresh -seed untuk melakukan seeding secara bersamaan dengan migrasi.

Selesai untuk tulisan kali ini.

Laravel Wallpapper
  • acep saepudin

    kenapa ya nama tabel nya harus berakhiran ‘s’ ,kalau gak pake ‘s’ selalu error pas seed nya :(

    • http://digitalmapia.com/ digitalmapia

      Itu namanya ‘convention’ gan, laravel secara default menggunakan kata benda jamak (banyak) sebagai nama tabelnya. Bila ingin tanpa ‘s’ agan bisa kok nambahin “protected $table = ‘nama_table_tanpa_s'” di modelnya 😀