Create Dummy Data Using Laravel Tinker

WebSolutionStuff | May-21-2020 | Categories : Laravel PHP

In this example we can see how to add multiple dummy records in the database at a time using tinker and factory, mostly laravel tinker command is used for testing purposes, whenever developers are developing application then they need to test many modules like insert update delete is working or not, pagination is working or not, filters are working properly and other functionalities. Also, we will see how to create dummy data using tinker and factory in laravel 6/7.

So, all these modules we can not add data manually every time it is a very boring task to add record one by one, but laravel provide a very useful command that is tinker and factory using this command we can add multiple dummy data at a time without using route or any controller, just type some code of command and that's it you can found a bunch of records in your database, So let's start.

To add dummy users in the database, laravel provide default UserFactory.php in your application folder database\factories\UserFactory.php

<?php

use App\User;
use Faker\Generator as Faker;
use Illuminate\Support\Str;

factory->define(User::class, function (Faker $faker) {
    return [
        'name' => $faker->name,
        'email' => $faker->unique()->safeEmail,
        'email_verified_at' => now(),
        'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
        'remember_token' => Str::random(10),
    ];
});

 

 

So, if you want to create dummy users then you need to run the below command.

php artisan tinker
factory(App\User::class, 200)->create();

Using this command 200 dummy records are inserted automatically.

If you want to create dummy records for other tables in production for testing purposes then you need to add a new factory model for that and need to run tinker command for this. for this we are adding some code like below for example.

?php

use App\User;
use Faker\Generator as Faker;
use Illuminate\Support\Str;

$factory->define(User::class, function (Faker $faker) {
    return [
        'name' => $faker->name,
        'email' => $faker->unique()->safeEmail,
        'email_verified_at' => now(),
        'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
        'remember_token' => Str::random(10),
    ];
});

$factory->define(App\Blog::class, function (Faker $faker) {
    return [
        'title' => $faker->name,
        'Description' => $faker->text,
    ];
});

In the above code, I have added factory for the Blog model and I have added 2 fields for testing, 

 

 

Faker is used to generating many data types I have added a few of these as below

  • Numbers
  • Lorem text
  • Person i.e. titles, names, gender etc.
  • Addresses
  • Text
  • DateTime
  • Colour
  • Files
  • Images

For more datatype and details please read the Laravel Faker Documentation.

After adding code like above, we will generate dummy records for the blogs table. Run the below command in your terminal

php artisan tinker
factory(App\Blog::class, 50)->create();

After running this command 50 records are added to your database.

 


You might also like :

Recommended Post
Featured Post





Follow us
facebooklogo github instagram twitter