clock  Mon - Sun 8.00 AM - 8.00 PM
fb
instagram
play store
pinterest

How to Create Fake Data in Database using Laravel

writter  Sumit Dey Sarkar
Date  13 Apr 2023
Language  Laravel
How to Create Fake Data in Database using Laravel

How to Create Fake Data in Database using Laravel

In this tutorial we will learn how to create fake data in database using Laravel.

 

How to Create Fake Data in Database using Laravel

 

How to Create Dummy Data in Database using Laravel

Laravel provides a convenient way to generate fake data for testing purposes using its built-in package called Faker. Faker generates realistic fake data such as names, addresses, phone numbers, etc. that can be used to populate your database tables.

 

Here's how to add dummy data to your Laravel application:

 

1) By entering the following line in your terminal, you can install the Faker package.

composer require fakerphp/faker

 

2) Once installed, you can start using Faker to generate fake data. Import the Faker namespace at the top of your file.

use Faker\Factory as Faker;

 

3) Now, create a new instance of Faker in your code.

$faker = Faker::create();

 

4) You can now use the Faker instance to generate fake data. For example, if you want to create a new user record in your databasethen you need to use following code.

$user = new User;
$user->name = $faker->name;
$user->email = $faker->email;
$user->password = bcrypt('password');
$user->save();

The above code will generate a random name and email address using Faker package and save it to the database with a password of 'password' (its just an example but you can use a secure password instead).

 

 

5) You can also generate multiple records at once by using a loop. For example, if you want to create 10 new user records, then you need to use below code.

for ($i = 0; $i < 10; $i++) {
    $user = new User;
    $user->name = $faker->name;
    $user->email = $faker->email;
    $user->password = bcrypt('password');
    $user->save();
}

This code will generate 10 random user records and save them to the database.

 

 

Note: You can generate more than 10 as per your need but in this example we get only 10 random details.

 

 

Here are some more examples :-

 

1) Random Addresses

$faker->address;
$faker->city;
$faker->state;
$faker->postcode;

 

2) Random Dates

$faker->date;
$faker->dateTime;
$faker->dateTimeBetween('-1 week', '+1 week');

 

3) Random Lorem Ipsum Text

$faker->sentence;
$faker->paragraph;
$faker->text;

 

4) Random Number and Booleans Value

$faker->randomNumber(3);
$faker->randomFloat(2, 0, 100);
$faker->boolean;

 

5) Random Image URLs

$faker->imageUrl(640, 480, 'cats');
$faker->imageUrl(640, 480, 'dogs');
$faker->imageUrl(640, 480, 'abstract');

 

6) Random Username

$faker->userName;

 

7) Random Password

$faker->password;

 

8) Random Company Name and Job Title

$faker->company;
$faker->jobTitle;

 

9) Random Credit Card Details

$faker->creditCardNumber;
$faker->creditCardType;
$faker->creditCardExpirationDateString;

 

10) Random IP Addresses and URLs

$faker->ipv4;
$faker->ipv6;
$faker->url;

 

11) Random UUIDs

$faker->uuid;

 

12) Random Color's

$faker->hexcolor;
$faker->rgbColor;
$faker->safeColorName;

 

13) Random File Name and Extensions

$faker->fileExtension;
$faker->mimeType;
$faker->file($sourceDir = '/tmp', $targetDir = '/path/to/target');

 

14) Random MAC Addreses

$faker->macAddress;

 

15) Random Latitude and Longitude Coordinates

$faker->latitude;
$faker->longitude;

 

16) Random Timestamps

$faker->unixTime;
$faker->dateTimeThisCentury->getTimestamp();
$faker->dateTimeBetween('-1 year', 'now')->getTimestamp();

 

17) URLs with Query Parameters

$faker->url($scheme = 'http', $host = 'example.com', $path = '/path', $query = 'param1=value1&param2=value2');

 

18) Random Phone Numbers With Specific Formats

$faker->phoneNumber;
$faker->e164PhoneNumber;
$faker->numberBetween(1000000000, 9999999999);

 

19) Random Words and Sentences with Specific Character Sets

$faker->word;
$faker->words($nb = 3, $asText = false);
$faker->sentence($nbWords = 6, $variableNbWords = true);
$faker->text($maxNbChars = 200);
$faker->regexify('[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}');

 

20) Random Sentences with Specific Lengths and Structures

$faker->sentence($nbWords = 6, $variableNbWords = true);
$faker->sentence($nbWords = 6, $variableNbWords = true)->camelCase;
$faker->sentence($nbWords = 6, $variableNbWords = true)->snakeCase;
$faker->sentence($nbWords = 6, $variableNbWords = true)->kebabCase;

 

21) Random Domain Names and TLDs

$faker->domainName;
$faker->tld;

 

22) Random User Agents

$faker->userAgent;

 

That's it! You can use Faker to generate fake data for any table in your database. To avoid SQL injection attacks, just be sure to sanitise any user input and use strong passwords.

Comments 0

Leave a comment

Coursera, Codeacademy, Udacity, W3Schools, Udemy, Alison, TheNewBoston, edX, P.S.Codewars,Freecodecamp, Managing technical debt blog, Scrimba, Codepen, Codepen/challenges, The Odin Project, htmlreference.​io, cssreference.​io, Frontend Mentor, Dev Challenges, MDN, Code Mentor, Coding Dojo, CSS Battle, Codier, Ace Frontend, Can I Use, CSS Tricks, 30 Seconds of Code,tutorialspoint, Neumorphism, Shaddows Brumm, Fancy Border Radius, Glow Generator, Clothoid Corners, Glassmorphism, Clipy, CSS Filters, Base64 Image, Quantity Queries, Animations, Cubic-Bezier, Keyframes, Wait Animate, Transition.Style, graphic design, web design, website design, website builder, web developer, web designer, webdesign, ecommerce website, web design company, website creator, website designer, responsive web design, web development company, best website design, web design software, web page design, build a website, web developer salary, design website, web design courses, how to design a website, web design inspiration, website layout, web designer salary, web application development, ecommerce website design, web agency, software development company, web design tutorial, web programming, design company, website design templates, what is web designing, web developer jobs, website developer, web design agency, freelance web developer, web design services, freelance web designer, graphic design websites, web solutions, ecommerce website development, free website design, web development courses, webdev, web developers, web development tools, website design services, developpeur web, web design london, website design ideas, web designing and programming, design a website, web design and development, web dev, web development services, homepage design, best designed websites, cheap website design, learn web design, web design templates, web design tools, web design jobs, website design inspiration, web design india, flash website, website developers, designer websites, website services, website design cost, good website design, site design, simple website design, cool website designs, modern website design, graphic designer websites, webcode, best web design software, website making, free web design software, mobile website design, learn web development, front end web developer, how to become a web developer, web developer portfolio, web development company in india, python web development, web development tutorial, website company, website design and development, web company, webdesigning, professional website design, affordable web design, best web design company, creative web design, top website designs, website design pricing, web developer tools, how to develop a website