How to create database seeder in Laravel
Here, we will learn how to create seeder for insert multiple records on database table in laravel 5.8. In this, i will show you that, how to create a seeder in laravel, how to use seeder in laravel and how you can use or run a specific seeder in laravel.
First, in simple lets know What is database seeder in laravel: So Laravel provide us this tool seeder to ADD or INSERT dummy or sample data to our database automatically by laravel command. This is called Database Seeding in Laravel
Step 1: Let's create seeder by following below command:
$ php artisan make:seeder UsersTableDataSeeder
Step 2: After successfull creation of above command seeder, you can see new file created in path : database/seeds/UsersTableDataSeeder.php and now lets put one record to insert by seeder as given below example:
<?php
use App\User;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;
class UsersTableDataSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
User::create([
'name' => 'User 1',
'email' => 'user@gmail.com',
'password' => Hash::make('user123'),
]);
}
}
Step 3: Now, let's Seed the data into database using following command.
$ php artisan db:seed --class=UsersTableDataSeeder
Now your data is successfully seeded into your database in laravel by the above Laravel artisan Command.
Step 4: If you have multiple Database Seeder like, UserTableDataSeeder, SettingTableSeeder and BlogTableSeeder, so at that time we can't follow Step 3 command to seed the data, so you need to add this Seeder or Database Seeder in the file path: "database/seeds/DatabaseSeeder.php". and paste as per your requirement. Eg give below:
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
$this->call(UsersTableDataSeeder::class);
$this->call(SettingTableSeeder::class);
}
}
Step 5: Now, run the below artisan command to seed all the data at once into your database
Now your all data will be seeded successfully.
Thank for reading.