Site icon Student Projects Live

Using Laravel Faker Directly with Tinker

Using Laravel Faker Directly with Tinker

Is it possible to use Faker just using Tinker? Yes, using Using Laravel Faker Directly with Tinker is 100% possible. Laravel allows you to use Faker directly inside Tinker without creating factories or seeders. This is a continuation of the Laravel Faker Tutorial From Scratch.

This approach is useful when you want to:


Step 1: Open Tinker

Run the following command:

php artisan tinker

Step 2: Create a Faker Instance

$faker = fake();

Alternatively, you can create a Faker instance using the Faker factory:

$faker = Faker\Factory::create();

Step 3: Generate Fake Data

Name

$faker->name();

Example Output

John Smith

First Name

$faker->firstName();

Last Name

$faker->lastName();

Email

$faker->email();

Safe Email

$faker->safeEmail();

Phone Number

$faker->phoneNumber();

Address

$faker->address();

City

$faker->city();

Country

$faker->country();

Company

$faker->company();

Job Title

$faker->jobTitle();

Website

$faker->url();

Username

$faker->userName();

Date

$faker->date();

Date and Time

$faker->dateTime();

Random Number

$faker->numberBetween(1, 100);

Random Boolean

$faker->boolean();

Random Element

$faker->randomElement([
    'PHP',
    'Laravel',
    'Vue',
    'React'
]);

Sentence

$faker->sentence();

Paragraph

$faker->paragraph();

UUID

$faker->uuid();

Step 4: Insert Data into the Database

Import your model:

use App\Models\Student;

Insert one record:

Student::create([
    'name'  => $faker->name(),
    'email' => $faker->unique()->safeEmail(),
    'age'   => $faker->numberBetween(18, 30),
    'phone' => $faker->phoneNumber(),
    'city'  => $faker->city(),
]);

Step 5: Insert Multiple Records

foreach (range(1, 10) as $i) {
    Student::create([
        'name'  => $faker->name(),
        'email' => $faker->unique()->safeEmail(),
        'age'   => $faker->numberBetween(18, 30),
        'phone' => $faker->phoneNumber(),
        'city'  => $faker->city(),
    ]);
}

This will create 10 student records in the database.


Step 6: Generate Fake Data Without Saving

You can simply generate fake values without inserting them into the database.

[
    'name' => $faker->name(),
    'email' => $faker->safeEmail(),
    'city' => $faker->city(),
    'country' => $faker->country(),
];

Advantages of Using Faker with Tinker


When Should You Use Factories Instead?

Factories are recommended when you need to:


Summary

Laravel Faker can be used directly in Tinker by creating a Faker instance with:

$faker = fake();

You can then generate fake data or use it with Eloquent models to insert records into your database. This is a simple and convenient way to experiment with Faker without creating factories or seeders.

Exit mobile version