Laravel 11 Database Seeder Tutorial |
Laravel 11 Database Seeder Tutorial |

Laravel 11 Database Seeder Tutorial


In the world of web development, Laravel has become a go-to framework for building robust and scalable applications. One of the key features of Laravel is its built-in support for database seeding, which allows developers to populate their databases with dummy data for testing and development purposes. In this tutorial, we’ll explore how to use Laravel 11’s database seeder feature with an easy-to-understand example.


Before we dive into the tutorial, ensure you have the following prerequisites:

  • Basic understanding of PHP and Laravel framework.
  • Laravel 11 installed on your local machine.
  • Familiarity with Laravel’s artisan command-line tool.

Setting Up the Laravel Project:

If you haven’t already, start by creating a new Laravel project by running the following command in your terminal:

laravel new laravel-seeder-example

Navigate to your project directory:

cd laravel-seeder-example

Database Configuration:

Next, configure your database connection settings in the .env file located at the root of your Laravel project. Set the appropriate values for your database type, host, port, database name, username, and password.

Creating a Model and Migration: Let’s create a simple model and migration for our example. Run the following command to generate a model and migration:

php artisan make:model Product -m

This command will generate a Product model along with its corresponding migration file in the database/migrations directory.

Open the generated migration file and define the structure of the products table. For example:

public function up()
    Schema::create('products', function (Blueprint $table) {

Don’t forget to migrate your database to create the products table by running:

php artisan migrate

Creating a Seeder:

Now, let’s create a seeder for our products table. Run the following command to generate a seeder:

php artisan make:seeder ProductSeeder

Open the generated seeder file located in the database/seeders directory. You’ll see a run() method where you can define the dummy data to be inserted into the products table. Here’s an example:

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

class ProductSeeder extends Seeder
    public function run()
            'name' => 'Laptop',
            'price' => 1200,

            'name' => 'Smartphone',
            'price' => 800,

        // Add more dummy data as needed

Seeding the Database:

To seed the database with the dummy data defined in the seeder, run the following artisan command:

php artisan db:seed --class=ProductSeeder

This command will execute the run() method defined in the ProductSeeder, inserting the dummy data into the products table.

Verifying the Seeded Data:

You can verify that the data has been successfully seeded into the products table by accessing your database management tool or querying the database using Laravel’s Eloquent ORM.


In this tutorial, we’ve explored how to use Laravel 11’s database seeder feature to populate our database with dummy data. By following the steps outlined in this tutorial, you should now have a solid understanding of how to leverage Laravel’s database seeding functionality in your own projects. Happy coding!

Leave a Reply