Laravel 10 Factory seeders; Through this tutorial, i am going to show you how create/generate dummy data into database table using the factory and seeders in Laravel 10 app.
If you want to add thousand of dummy or fake records into database, so you can easily geneate or create dummy records into database table using factory seeders and faker in Laravel 10. So, you will not add manually thousands of records then it can be take more time.
Laravel 10 Factory Generate Dummy Data Example
Use the below given steps to generate dummy data using factory in Laravel 10 apps:
- Step 1 – Install Laravel 10 App
- Step 2 – Database Configuration
- Step 3 – Create Model and Migration
- Step 4 – Create Factory
- Step 5 – Create Dummy Data By Factory Command
Step 1 – Install Laravel 10 App
In step 1, install or download Laravel 10 application, so open terminal or command prompt and run the following command to install fresh Laravel 10 app:
composer create-project --prefer-dist laravel/laravel blog
Step 2 – Database Configuration
In step 2, configure database details in .env file:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=db name DB_USERNAME=db user name DB_PASSWORD=db password
Step 3 – Create Model and Migration
In step 3, create one model and migration name Post using the following command:
php artisan make:model Post -m
After that, open create_posts_table.php file, which is located inside /database/migrations/ directory. And add the following code in it:
<?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreatePostsTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('posts', function (Blueprint $table) { $table->id(); $table->string('title'); $table->text('description'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('posts'); } }
Then, open Post.php file which is located inside app/Models directory. And add the following code into it:
<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Post extends Model { use HasFactory; protected $fillable = [ 'title', 'description' ]; }
Step 4 – Create Factory
In setp 4, create factory class named PostFactory by using the following command:
php artisan make:factory PostFactory --model=Post
Then open PostFactory.php file, which is located inside database/factories/ directory. And update the following code in it:
<?php namespace Database\Factories; use App\Models\Post; use Illuminate\Database\Eloquent\Factories\Factory; use Illuminate\Support\Str; class PostFactory extends Factory { /** * The name of the factory's corresponding model. * * @var string */ protected $model = Post::class; /** * Define the model's default state. * * @return array */ public function definition() { return [ 'title' => $this->faker->title, 'description' => $this->faker->text, ]; } }
The run the following command on command prompt to auto load dependencies:
composer dump-autoload
Step 5 – Create Dummy Data By Factory Command
In step 5, open command prompt and run artisan tinker command and then run create dummy data factory command to generate dummy data into database table:
php artisan tinker Post::factory()->count(20)->create()