Skip to content
Readerstacks logo Readerstacks
  • Home
  • Softwares
  • Angular
  • Php
  • Laravel
  • Flutter
Readerstacks logo
Readerstacks
How to create seeders in laravel

How to create seeders in laravel 9 with example ?

Aman Jain, February 19, 2022February 22, 2022

As the name implies seeders, seeder are used to fill the database using seed classes. Sometimes in our application we wanted to test our application with some data and in that case we require seed the database may be with dummy data.

Using the seeder we can create n number of rows to test our functionality. We can create seeder class using php artisan command as below

php artisan make:seeder ArticleSeeder

In this tutorial i will show you to create seeders in laravel and also we will use faker and Str library to create fake name , email etc.

Before start I assume you well known to database and and How to make database connection in Laravel 8 ?

Let’s start the article with step by step process

Step 1: Create a seeder class

Very first step is to create the seeder class using PHP artisan command as below

php artisan make:seeder ArticleSeeder

Above command will create a file in folder database/seeders and the code will be in file

<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;

class ArticleSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        //
    }
}

Step 2: Modify Generated Class to Seed the Table

In previous step we created the class, now modify it according to our need for example in our articles table we have below schema

CREATE TABLE `articles` (
  `id` bigint(20) UNSIGNED NOT NULL,
  `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `picture` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `body` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

then we need to change the ArticleSeeder class as below

<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;

class ArticleSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
          for($count=0;$count<10;$count++){
            DB::table('articles')->insert([
                'title' => Str::random(10),
                'email' => Str::random(10).'@gmail.com',
                'body'  => Str::random(100),
                'updated_at' => date("Y-m-d H:i:s"),
                'created_at' => date("Y-m-d H:i:s"),
                
            ]);
        }
    }
}

As you can see we have added the for loop to run the insert query 10 times and it will generate 10 records in article table.

Step 3: Run the seeders

There is two way to run the seeders :

First using the default seeder class of application

Secound is running the specific seeder class using artisan command as below

php artisan db:seed --class=ArticleSeeder

This will create 10 records in table.

How to manage order of seeders and run multiple ?

In our application we can create multiple seeders and while deploying to server we need to manage the order of seeders to feed the database so we can user application default class DatabaseSeeder and we can define the order of our seeders as below

<?php
 
namespace Database\Seeders;
 
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
 
class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeders.
     *
     * @return void
     */
    public function run()
    {
         $this->call([
              UserSeeder::class,
              ArticleSeeder::class,
         ]);
    }
}

We can use call method to use the multiple seeder in the order and then we can run simply

php artisan db:seed

Related

Php Laravel Laravel 9 databaselaravelseeders

Post navigation

Previous post
Next post

Related Posts

Php Laravel 9 CRUD with Search, Image and Pagination

Laravel 9 CRUD with Search Image upload and Pagination

June 25, 2022November 7, 2023

In this article i will learn laravel 9 CRUD with Search Image upload and Pagination. In this post we will not only cover the CRUD operation but also the validation on form, unique validation, image uploading and view the uploaded image, Flash messages, Search the uploaded data and many more….

Read More
Softwares Traits-in-Php

What is a traits in PHP and how to use it ?

June 20, 2021November 8, 2023

Before PHP 5.4, there was no way to implement multiple inheritance in PHP then PHP 5.4 introduce traits as a substitute of multiple inheritance in PHP. By using the traits PHP solve the problem of Multiple Inheritance. A class only extend one class what if we wanted to use multiple…

Read More
Php Laravel 9 Ajax CRUD with Search, Image and Pagination

Laravel 9 Ajax CRUD with Search, Image and Pagination

June 26, 2022March 28, 2023

In this article i will learn Ajax CRUD with Search, Image and Pagination in laravel 9. When we want to perform the CRUD operations without reloading the page then we use javascript and Ajax to refresh the page content without reloading.In this post we will not only cover the Ajax…

Read More

Aman Jain
Aman Jain

With years of hands-on experience in the realm of web and mobile development, they have honed their skills in various technologies, including Laravel, PHP CodeIgniter, mobile app development, web app development, Flutter, React, JavaScript, Angular, Devops and so much more. Their proficiency extends to building robust REST APIs, AWS Code scaling, and optimization, ensuring that your applications run seamlessly on the cloud.

Categories

  • Angular
  • CSS
  • Dart
  • Devops
  • Flutter
  • HTML
  • Javascript
  • jQuery
  • Laravel
  • Laravel 10
  • Laravel 11
  • Laravel 9
  • Mysql
  • Php
  • Softwares
  • Ubuntu
  • Uncategorized

Archives

  • June 2025
  • May 2025
  • April 2025
  • October 2024
  • July 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • July 2023
  • March 2023
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021

Recent Posts

  • The Resilience of Nature: How Forests Recover After Fires
  • Understanding Laravel Cookie Consent for GDPR Compliance
  • Understanding High Vulnerabilities: A Critical Overview of the Week of May 12, 2025
  • Installing a LAMP Stack on Ubuntu: A Comprehensive Guide
  • Understanding High Vulnerabilities: A Deep Dive into Recent Security Concerns
©2023 Readerstacks | Design and Developed by Readerstacks
Go to mobile version