Dalam proses development sebuah aplikasi, terkadang kita membutuhkan data dummy untuk melakukan test terhadap aplikasi kita, nah , di Laravel kita dapat melakukan generate data dummy menggunakan factory dan tinker sehingga kita tidak perlu membuatnya satu persatu di database.
Model Factory adalah fitur dari laravel yang mempermudah kita untuk membuat dummy data (atau fake data) dengan cepat dan praktis. Tugas kita hanya mendefinisikan “isi” dari setiap kolom dari tabel kita, lalu kita akan menemukan Laravel membuatkan data dummy yang sesuai dengan apa yang kita inginkan.
Langkah - langkah Membuat Model Factory
Langkah pertama yaitu membuat model yang ingin kita buatkan dummy databasenya, kita dapat membuat model dengan peritah artisan
php artisan make:model Product -m -f -c
perintah diatas akan membuat model, factory, controller dan migration baru.
Selanjutnya kita buat field dari table yang akan kita buat, dengan membuka file migration yang baru kita buat.
public function up()
{
Schema::create('products', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('product_name');
$table->text('description');
$table->string('category');
$table->decimal('amount', 8, 0);
$table->text('product_image');
$table->timestamps();
});
}
setelah membuat field table, selanjutnya kita migrasi tablenya dengan perinta artisan
php artisan migrate
pastikan laravel kita suda terhubung kedatabase
selanjutnya kita buat model factorynya, buka file factory yang telah kita buat, lokasi filenya berada di direktori \database\factories\nama_factroy
$factory->define(Product::class, function (Faker $faker) {
return [
'product_name' => $faker->sentence(3),
'description' => $faker->text(300),
'category' => $faker->sentence(2),
'amount' => $faker->numberBetween($min = 10000, $max = 50000),
'product_image' => $faker->imageUrl($width = 640, $height = 480)
];
});
setelah model factory selesai dibuat, selanjutnya kita generate dummy databasenya menggunakan tinker
php artisan tinker
Setelah itu kita sudah masuk ke dalam tinker dan ketikkan perintah berikut
factroy(App\Product::class, 100)->create();
kita dapat mengatur jumlah data yang ingin kita generate
Setelah itu cek ke database, apakah datanya sudah ada.
Sulfikardi
Web Design & Web Programming
Halo, saya seorang Web Developer yang terbiasa mengembangkan website
menggunakan HTML, CSS, Javascript, PHP, MYSQL, dan Laravel. Disini saya akan membagikan pengalaman saya dalam membangun dan mengembangan website yang responsif dan dinamis