How To

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.

Click to rate this post!
[Total: 27 Average: 3.9]
Bharat Desai

Bharat Desai is a Co-Founder at MageComp. He is an Adobe Magento Certified Frontend Developer ? with having 8+ Years of experience and has developed 150+ Magento 2 Products with MageComp. He has an unquenchable thirst to learn new things. On off days you can find him playing the game of Chess ♟️ or Cricket ?.

View Comments

    • You can achieve this with below code

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

Recent Posts

How to Add a Custom Field to the Cart Price Rules Form in Magento 2?

Hello Magento Friends, In this blog, we will learn How to Add a Custom Field…

5 hours ago

How to Add Tooltip in Checkout Shipping Field in Magento 2?

Hello Magento Friends, In today’s blog, I will explain How to Add Tooltip in Checkout…

3 days ago

How to Integrate and Use MongoDB with Laravel?

MongoDB is a popular NoSQL database that offers flexibility and scalability when handling modern web…

4 days ago

NodeJS | Callback Function

In NodeJS, callbacks empower developers to execute asynchronous operations like reading files, handling requests, and…

5 days ago

How to Show SKU in Order Summary in Magento 2?

Hello Magento Friends, In today’s blog, we will learn How to Show SKU in Order…

1 week ago

Best Colors to Use for CTA Buttons

The "Buy Now" and "Add to Cart" buttons serve as the primary call-to-action (CTA) elements…

1 week ago