Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

mengheang's avatar

factory dummy 100 records without creating 100 users the same time

I have a table Language with a user who created. I used the code below to dump data but when I dump 100 records, it also create 100 users.

$factory->define(App\Language::class, function (Faker $faker) { return [ 'user_id' => function () { return factory(App\User::class)->create()->id; }, 'name' => $faker->languageCode, ]; });

any solutions ?

0 likes
2 replies
tomopongrac's avatar

Try this

$factory->define(App\Language::class, function (Faker $faker) {

    $user = factory(App\User::class)->create();

    return [
        'user_id' => $user->id,             
        'name' => $faker->languageCode,
    ];

});
tykus's avatar
tykus
Best Answer
Level 104

Not inside the `LanguageFactory as mentioned above, but where ever you are whipping up the models:

$user = factory(App\User::class)->create();

factory(App\Language::class, 100)->create(['user_id' => $user->id]);

Please or to participate in this conversation.