Laravel 8: Database Seeder with Example

Laravel 8 Database Seeder with Example

In today’s tutorial, we will learn about Database Seeder in Laravel 8 with Example. I will guide you on How to create Seeder, What is the command for Database Seeder and How to run Seeder in Laravel 8.

What is Database Seeder in Laravel?

Laravel provides a simple method to seed test data into a database using seeder classes. You can perform database seeding in Laravel to add fake data into the database for testing purposes.

Database Seeder in Laravel 8 Example

Step 1: Create Seeder Command 

php artisan make:seeder UserSeeder

After you run the above command, it will create one file UserSeeder.php in the seeds folder. The seed classes are stored in the database/seeders directory.

<?php

namespace Database\Seeders;

use App\Models\User;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;

class UserSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        User::create([
            'name' => 'John doe',
            'email' => 'john@gmail.com',
            'mobile' => '911234567891',
            'password' => Hash::make('john@123')
        ]);
    }
}

Step 2: Calling Additional Seeders

The call method is used to execute additional seed classes within the DatabaseSeeder class. It allows you to break up your database seeding into multiple files so that no single seeder class becomes too large. The call method accepts an array of seeder classes that should be executed.

<?php
  
use Illuminate\Database\Seeder;
   
class DatabaseSeeder extends Seeder
{
    public function run()
    {
         $this->call([
        	UserSeeder::class,
        	PostSeeder::class,
    	]);
    }
}

Step 3: Running Seeders

Command to run seeder

php artisan db:seed

Command for single seeder run

php artisan db:seed -–class=UserSeeder

You can also seed your database using the migrate:fresh command in combination with the –seed option. This command drops all tables, re-runs all of your migrations, and re-building your database.

php artisan migrate:fresh --seed

Conclusion:

This way, you can create a database seeder in Laravel. If you have any doubts, connect with our experienced Laravel Developers, who will help you with your queries. Share the tutorial with your friends and stay in touch with us to learn more.

Previous Article

eCommerce Payment Processing: A Comprehensive Guide

Next Article

Best Shopify Mobile App Builders

View Comments (4)
  1. you missed double dash for this command
    php artisan db:seed –class=UserSeeder it should be –class=

    1. You can achieve this with below code

      YourModel::create([
      ‘integer_column’ => random_int(1, 100), // Example: Inserting random integer between 1 and 100
      ]);

Leave a Comment

Your email address will not be published. Required fields are marked *

Get Connect With Us

Subscribe to our email newsletter to get the latest posts delivered right to your email.
Pure inspiration, zero spam ✨