Di artikel kali ini saya akan kembali membahas hal yang spesifik tentang framework yang saya sedang pelajari yaitu laravel yang mana pembahasan kali ini akan membahas Cara Membuat Data Seeder Di Laravel 5.4.
Apa itu seeder dalam laravel ? 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.
Sepertihalanya membuat sebuah migration, membuat sebuah seeder juga bisa menggunakan commandline artisan seperti contoh berikut ini :
|
1 |
php artisan make:seeder CommentsTableSeeder |
Setelah menjalankan perintah tersebut , maka composer akan secara otomatis membuat sebuah file php yang bernama CommentsTableSeeder.php yang berada di dalam folder database/seeds/CommentsTableSeeder.php.
Untuk selanjutnya kita isikan data dumy kedalam file CommentsTableSeeder.php sperti 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 |
<?php use Illuminate\Database\Seeder; use App\Coments; class ComentsTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { DB::table('coments')->truncate(); Coments::create(array( 'author'=>'Bayu fajar sidik', 'text'=>'The awesomeness of Laravel' )); Coments::create(array( 'author'=>'Fahrizal', 'text'=>'PHP coding is fun again' )); Coments::create(array( 'author'=>'Indah bendul', 'text'=>'Great framework btw' )); } } |
Yang mana sebelumnya saya sudah membuat sebuah table di database dengan menggunakan migration dengan struktur table seperti berikut 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 |
<?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateTableComments extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('coments', function (Blueprint $table) { $table->increments('id'); $table->string('author'); $table->string('text'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('coments'); } } |
Dan sebuah model dengan nama model Coments seperti berikut :
|
1 2 3 4 5 6 7 8 9 10 |
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Coments extends Model { protected $fillable = array('author','text'); } |
Untuk yang selanjutnya silahkan lakukan perubahan pada file databse/seeds/DatabaseSeeder.php seperti ini :
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { Eloquent::unguard(); $this->call('ComentsTableSeeder'); } } |
Terakhir marilah kita jalankan perintah berikut untuk menjalankan Seeder nya :
|
1 |
php artisan db:seed |
Jika berhasil maka akan terisi data dummy pada table coments kita, baiklah itu saja dari saya untuk artikel laravel mengenai Cara Membuat Data Seeder Di Laravel 5.4 .