Belajar Laravel Seeder Laravel |Menggunakan Seeder Pada Laravel


alt+ tutorial membuat web Menggunakan Seeder di Laravel




https://static.cdn-cdpl.com/700x350/2e2e60f587dfd485821293c09e51a70b/Menggunakan_Seeder_di_Laravel.png


Mari kita simak penjelasan berikut, mari belajar laravel menggunakan seeder di laravel.


Kali ini kita akan membahas salah satu fitur yang cukup menarik yang telah disediakan oleh laravel yaitu Seeders. Sebelum melangkah lebih jauh kita akan mengenali apa sih seed itu dan dalam keadaan seperti apa dapat digunakan? Adapun poin yang akan kita capai dalam pembalajaran kali ini diantaranya :
  1. Membuat Seeders
  2. Menggunakan Model Factories
  3. Menggunakan seed yang telah dibuat
  4. Menjalankan Seeders

Apa itu Seeder?

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. Mengapa? Karena anda cukup sekali membuat “benih data” yang dapat digunakan secara berulang kali saat dibutuhkan

Membuat Seeders

Perlu diketahui bahwa secara default laravel menempatkan file seed yang kita buat kedalam direktori database/seeds. Class seed dapat menggunakan nama sesuai yang anda inginkan, akan tetapi dan sebaiknya nama yang digunakan mewakili sample data yang akan kita buat, misal : UsersTableSeeder yang mewakili sample data untuk users. Untuk membuat seed, maka anda cukup menggunakan fitur menarik lainnya yakni : artisan command. Dengan artisan command anda dapat meng-generate file seeder hanya dengan sekali command dan ditempatkan pada direktori database/seeds. Untuk menjalankannya silahkan jalankan command berikut pada command line anda :
php artisan make:seeder UsersTableSeeder
Secara default seeders hanya memiliki satu method yakni : run. Method ini akan di eksekusi dengan menggunakan artisan command : php artisan db:seed. Method ini juga dapat digunakan untuk memasukkan dummy data yang anda inginan kedalam database dengan menggunakan Query builder atau Eloquent. Langsung saja, silahkan buka file seeder yang telah kita buat pada direktori database/seeds dengan nama UsersTableSeeder.php
<?php
 
use Illuminate\Database\Seeder;
 
class UsersTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        //
    }
}
Pada method run tambahkan code berikut :
\App\User::create([
        'name' => str_random(20),
        'email' => str_random(10) . '@codepolitan.com',
        'password'     => bcrypt('secret')
]);
Untuk menjalankan seed yang telah kita buat akan dikerjakan pada poin selanjutnya. Namun sebelum itu kita akan membuat dummy data lainnya dengan menggunakan Model Factory untuk melakukan perbandingan.

Menggunakan Model Factories

Selain menggunakan cara diatas, ada cara efektif lain yang dapat dimanfaatkan untuk melakukan penginputan dummy data yang tergolong banyak dengan menggunakan Model Factory. Dengan memanfaatkan helper factory memungkinkan kita untuk menginput data dalam jumlah banyak sesuai keinginan tanpa perlu mengetikkan satu persatu sample data yang akan dimasukkan. Pada method run ketikkan potongan code berikut :
factory(\App\User::class, 3)->create();
Code diatas akan menginput data secara otomatis sebanyak 3. dan jika anda menginginkan jumlah data yang lebih cukup mengganti parameter kedua yang dibutuhkan oleh factory helper yaitu angka 3.

Menggunakan seed yang telah dibuat

Dengan DatabaseSeeder.php yang terletak pada direktori database/seeds, anda dapat memanggil seeder yang telah dibuat dengan menggunakan method call. Pada method run tambahkan potongan code berikut :
$this->call(UsersTableSeeder::class);
Jika anda memiliki lebih dari satu seeder maka cukup gunakan method call kembali dengan mengganti nama seeder sesuai nama seed yang ingin anda panggil. Semisal :
$this->call(UsersTableSeeder::class);
$this->call(PostsTableSeeder::class);
maka secara lengkap code yang terdapat DatabaseSeeder.php akan menjadi seperti berikut :
<?php
 
use Illuminate\Database\Seeder;
 
class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        $this->call(UsersTableSeeder::class);
    }
}

Menjalankan Seeders

Setelah kita membuat file seeder, maka langkah selanjutnya adalah mengeksekusi file tersebut dengan mengunakan artisan command: php artisan db:seed. Secara default db:seed menjalankan class DatabaseSeeder. Maka apabila anda hanya ingin mengeksekusi class tertentu saja, maka anda dapat menggunakan flag --class.
php artisan db:seed
php artisan db:seed --class=UsersTableSeeder
seeding juga dapat dijalankan bersamaan dengan migrate, sebagai contoh anda melakukan refresh struktur database yang anda punya, maka secara otomatis dummy data akan di input kembali.
php artisan migrate:refresh --seed

 

 

Belajar Laravel : Mengenal dan Membuat Seeder di Laravel 5.3 untuk pemula

ken' January 9, 2017
Hallo teman-teman, tidak terasa bukan kita sudah belajar beberapa dasar dari Framework Laravel, dan kali ini kita sudah sampai pada Belajar Laravel : Mengenal dan Membuat Seeder pada Laravel 5.3 untuk pemula. Sebelumnya ONPHPID tanya nih, ada yang sudah tahu tentang Seeder? setidaknya pernah dengar deh. Seeder berasal dari kata Seed yaitu benih, jadi Seeder adalah pembenihan. Kok jadi berkebun ya, hehe.. . Begini teman-teman, jadi Seeder merupakan data dummy yang kita buat ketika kita membuat sebuah aplikasi berbasis web, data hasil seeder dapat kita gunakan sebagai data awal untuk keperluan testing ataupun untuk keperluan lain, misalnya data user. Dengan adanya Seeder kita tidak perlu mengimputkan data satu-satu ke database melalui phpmyadmin, cukup dengan file seeder kita dapat membuat data dummy. Mudah bukan?? penasaran bagaimana membuatnya?


Masih ingatkan kemarin kita sudah membuat satu table dengan nama kendaraans, nah kita akan memanfaatkan table tersebut untuk kita isi datanya melalui Seeder. Tentunya kita perlu membuat satu file Seeder yang akan kita gunakan nantinya. Bagaimana membuatnya teman-teman? ok, file Seeder yang akan kita buat nanti akan disimpan di direktori database/seeder/disini.php. Sebelumnya buka dulu command prompt-nya, karena kita akan membuat file dengan nama KendaraansTableSeeder.php menggunakan perintah artisan berikut ini :
1
php artisan make:seeder KendaraansTableSeeder
jika berhasil maka hasilnya akan seperti ini
https://i2.wp.com/www.onphpid.com/wp-content/uploads/2017/01/u.png?resize=720%2C103&ssl=1
silakan buka file tersebut dan kita akan mulai membuat data yang akan kita inputkan ke database. O iya teman-teman, secara default Laravel sudah ada library PHP yaitu Faker. Faker adalah library PHP yang dapat digunakan untuk membuat data dummy, untuk membaca dokumentasinya teman-teman dapat membacanya disini. Pada tutorial kali ini ONPHPID akan memberikan salah satu cara untuk membuat data dummy menggunakan seeder pada Laravel, tentunya kita sendiri yang akan membuatnya. Kita akan mengisi table kendaraans, jadi kita akan membuat data seputar kendaraan. Jika file KendaraansTableSeeder.php sudah kalian buka, silakan isi seperti contoh di bawah ini :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php

use Illuminate\Database\Seeder;

class KendaraansTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        \App\Kendaraan::insert([
            [
              'nama_kendaraan'  => 'mobil',
              'jenis_kendaraan' => 'roda empat',
              'buatan'          => 'jepang',
              'created_at'      => \Carbon\Carbon::now('Asia/Jakarta')
            ],
            [
              'nama_kendaraan'  => 'motor',
              'jenis_kendaraan' => 'roda dua',
              'buatan'          => 'china',
              'created_at'      => \Carbon\Carbon::now('Asia/Jakarta')
            ],
            [
              'nama_kendaraan'  => 'sepeda',
              'jenis_kendaraan' => 'roda dua',
              'buatan'          => 'china',
              'created_at'      => \Carbon\Carbon::now('Asia/Jakarta')
            ],
        ]);
    }
}
setelah itu silakan buka file DatabaseSeeder.php, kemudian tambahkan code agar menjadi seperti ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php

use Illuminate\Database\Seeder;

class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        // $this->call(UsersTableSeeder::class);
        $this->call(KendaraansTableSeeder::class); // tambahkan line ini
    }
}
jika sudah mari kita eksekusi agar datanya masuk ke dalam table kendaraans. Buka lagi command prompt-nya lalu ketikan perintah artisan berikut :
1
php artisan db:seed --class=KendaraansTableSeeder
perintah di atas akan menjalankan satu file seeder dengan nama KendaraansTableSeeder.php, jika kalian ingin memiliki banyak file seeder yang akan di eksekusi kalian bisa menggunakan perintah berikut :
1
php artisan db:seed
namun jika hanya akan mengeksekusi satu file tinggal menambahkan --class=NamaFilenya tanpa ekstensi .php. Bagaimana? paham bukan…
Mari kita check table kendaraans apakah datanya berhasil kita masukan, kalo ONPHPID alhamdulillah berhasil. Bagaimana dengan kalian?
https://i0.wp.com/www.onphpid.com/wp-content/uploads/2017/01/v.png?resize=710%2C262&ssl=1
Baca Juga : Mengenal Migrations Pada Laravel 5.3 untuk pemula
Sekian dulu tutorial Belajar Laravel : Mengenal dan Membuat Seeder pada Laravel 5.3 untuk pemula. Jika ada hal yang kurang jelas atau ingin ditanyakan dapat melalui komentar. JANGAN LUPA like FANSPAGE ONPHPID untuk update informasi dan Subscribe Channel ONPHPID Tutorial. Selamat Belajar…


https://www.codepolitan.com/menggunakan-seeder-di-laravel-59f7249589e2f

Comments

Popular posts from this blog

Cara Lengkap Konfigurasi SQLite di Laravel |Tingkah Belajar Mudah Laravel

Belajar Laravel Kelebihan Kekurangan Laravel |Cepat Mempelajari Laravel