Laravel memiliki fitur yang memungkinkan Anda untuk mengisi database dengan data menggunakan kelas seed. Semua kelas seed disimpan dalam direktori database/seeder
. Secara bawaan, kelas DatabaseSeeder
telah ditentukan untuk Anda. Dalam kelas ini, Anda dapat menggunakan metode call
untuk menjalankan kelas seed lainnya. Ini memungkinkan Anda mengontrol urutan di mana penyemaian dilakukan.
Jalankan perintah php artisan make:seeder NamaSeeder untuk membuat class seeder baru.
Sebagai contoh, kita akan memodifikasi class DatabaseSeeder dan menambahkan statement insert database di dalam method run:
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeders.
*/
public function run(): void
{
DB::table('users')->insert([
'name' => Str::random(10),
'email' => Str::random(10).'@gmail.com',
'password' => Hash::make('password'),
]);
}
}
Setelah itu, jalankan perintah php artisan db:seed, maka tabel users akan terisi dengan data yang telah kita generate dari class DatabaseSeeder.
Sumber : https://laravel.com/docs/10.x/seeding#main-content