Belajar Laravel Seeder Laravel |Menggunakan Seeder Pada Laravel
Menggunakan Seeder di Laravel
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 :
- Membuat Seeders
- Menggunakan Model Factories
- Menggunakan seed yang telah dibuat
- 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 dibutuhkanMembuat 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
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
|
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')
],
]);
}
}
|
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
}
}
|
1
|
php artisan db:seed --class=KendaraansTableSeeder
|
KendaraansTableSeeder.php
, jika kalian
ingin memiliki banyak file seeder yang akan di eksekusi kalian bisa menggunakan
perintah berikut :
1
|
php artisan db:seed
|
--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?
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