Table of Contents

Pengenalan

Seeder adalah sebuah fitur untuk mengisi dummy data ke dalam database. Misal dalam pengembangan anda ingin mengetest seberapa cepat proses pengiriman dan pengolahan yang dikerjakan oleh server.

Persiapan
  1. Laravel sudah terinstall
  2. Konfigurasi sudah sesuai
  3. Crud Post pada module 7 sudah dibuat
Penerapan
Buat Factory
				
					php artisan make:factory PostFactory
				
			
Edit Factory

app/database/factories/PostFactory.php

				
					<?php

namespace Database\Factories;

use Illuminate\Database\Eloquent\Factories\Factory;

/**
 * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Post>
 */
class PostFactory extends Factory
{
    /**
     * Define the model's default state.
     *
     * @return array<string, mixed>
     */
    public function definition()
    {
        $title= $this->faker->text(50);
        return [
            'title'=> $title,
            'slug'=> \Str::slug($title),
            'content'=>$this->faker->text(200),
            'category_id'=>$this->faker->numberBetween(1,5),
        ];
    }
}

				
			

Daftar field bisa dilihat di sini

Buat Seeder
				
					php artisan make:seeder BlogSeeder
				
			

app/database/seeders/PostSeeder.php

				
					<?php

namespace Database\Seeders;

use App\Models\Post;
use Illuminate\Database\Seeder;

class PostSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        Post::factory(100)->create();
    }
}

				
			
Jalankan Seeder
				
					php artisan db:seed --class=PostSeeder
				
			

Cek Database akan ada 100 row baru pada table posts