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

新手上路,请多包涵

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
阅读 1.5k
1 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题