How to Create & Run All Seeders in Laravel latest ?

  • Share this:

Hello, today I want to talk about seeder class in Laravel, in programming to write a scalable, reusable and clean code, you need to follow some programming principles.

What is an seeder?

In Laravel, a Seeder is a feature that allows you to seed your database with data using seed classes1. All seed classes are stored in the database/seeders directory.

STEP 1: Installing Laravel via Composer

You can ignore this step if you already have an application downloaded or else, run the following command to create a brand new laravel project.

composer create-project laravel/laravel {directory} 10.0 --prefer-dist

STEP 2: Configure Database Connection

In this type of project, we must give precedence to the database connection, generically it should be configured before getting started. Incorporate the following code in .env file with your database details.


STEP 3: Run Migrations in Laravel

Laravel Migration is an developer-friendly feature in Laravel that allows you to create a table in your database. It allows you to modify and share the application's database schema. You can modify the table by adding a new column or deleting an existing column.

Each migration stored in the database/migrations directory. And each migration filename contains a timestamp that allows Laravel to determine the order of the migrations.

php artisan migrate

STEP 4 : Create Specific Seeder Class in Laravel

To create a specific seeder class in Laravel, you can use the make:seeder Artisan command. This command will generate a new seeder class in the database/seeders directory. 

For example, if you want to create a seeder for a users table, you would run the following command in your terminal:

php artisan make:seeder UsersTableSeeder

This will create a new file UsersTableSeeder.php in the database/seeders directory. The generated seeder class will be empty apart from a run method. You can place your database seeding logic within this method.

Here's an example of what the UsersTableSeeder.php might look like:


namespace Database\Seeders;

use Illuminate\Database\Seeder;
use App\User;

class UsersTableSeeder extends Seeder
     * Run the database seeds.
     * @return void
    public function run()
            'name' => 'K.K ADIL',
            'email' => '[email protected]',
            'password' => bcrypt('password'),

In this example, the run method creates a new user in the users table with the name 'K.K ADIL', email '[email protected]', and password 'password'.

STEP 5: Register New Seeder Class in DatabaseSeeder.php

In the run method of the DatabaseSeeder.php file, add a call to call method with your new seeder class as an argument:


use Illuminate\\Database\\Seeder;

class DatabaseSeeder extends Seeder
     * Seed the application's database.
     * @return void
    public function run()
            // your new seeder class add here 

STEP 6: Run Seeders and Migrate

Now, when you run the db:seed Artisan command, Laravel will execute all the seed classes specified in the call method of the DatabaseSeeder class:

php artisan db:seed

After running the above command; you will see following message on the terminal.

# INFO  Seeding database.  

Database\Seeders\UsersTableSeeder .................................................. RUNNING  
Database\Seeders\UsersTableSeeder ............................................ 14.4 ms DONE