laravel 使用工厂函数填充数据,假数据的数量不一致

发布于 2022-09-12 03:44:30 字数 1419 浏览 17 评论 0

UserFactory

$factory->define(User::class, function (Faker $faker) {
    $date_time = $faker->date . ' ' . $faker->time;
    return [
        'name' => $faker->name,
        'email' => $faker->unique()->safeEmail,
        'email_verified_at' => now(),
        'password' => '$2y$10$6BixObQ108Da47eYT4RNa.SrgHIiL/8PI/roaj9JKlejscDyiXR0q', // password
        'remember_token' => Str::random(10),
        'created_at' => $date_time,
        'updated_at' => $date_time,
    ];
});

ThreadFactory

$factory->define(Thread::class, function (Faker $faker) {
    return [
        //
        'title' => $faker->sentence,
        'body' => $faker->paragraph,
    ];
});

UserSeeder

$users = factory(User::class,5)->make();
$users->makeVisible(['password','remember_token']);
User::insert($users->toArray());

ThreadSeeder

$faker = app(Faker\Generator::class);
$user_ids = User::all()->pluck('id')->toArray();
$threads = factory(Thread::class,5)->make()->each(
      function ($thread,$index) use ($user_ids,$faker){
          $thread->user_id = $faker->randomElement($user_ids);
      }
  );
Thread::insert($threads->toArray());

数据库中user却有10条数据?

App\\User::all()->count(); // 10

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

百变从容 2022-09-19 03:44:30

每次5条,seed执行两次就是10条

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文