In this tutorial we will learn how to create seeder in laravel with example.
In Laravel, seeding is the process of inserting initial data into a database. Seeders are classes that allow you to populate your database with test data or default values.
How to create seeder in laravel with example
To create a seeder in Laravel, you can follow these steps:
Step 1 - Generate a Seeder Class
php artisan make:seeder UsersTableSeeder
Step 2 - Define the Seeder Class Open the newly created `database/seeders/UsersTableSeeder.php` file and define the `run()` method. This method will contain the code that inserts data into the database.
Example:
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use App\Models\User;
class UsersTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// Insert default users
User::create([
'name' => 'John Doe',
'email' => 'johndoe@example.com',
'password' => bcrypt('password'),
]);
User::create([
'name' => 'Jane Doe',
'email' => 'janedoe@example.com',
'password' => bcrypt('password'),
]);
}
}
Step 3 - Call the Seeder Class To run the seeder, you can use the following command:
php artisan db:seed --class=UsersTableSeeder
This will insert the default users into the database.
You can create multiple seeders to populate different tables in your database. Just make sure to define unique class names and call them using the `--class` option.
Note: Remember to include the `use` statement for any model that you want to insert data into.