Php Laravel播种机的仿造者

Php Laravel播种机的仿造者,php,laravel,faker,laravel-seeding,Php,Laravel,Faker,Laravel Seeding,我有一个表users,与一个名为videos的表处于一对多关系中。我希望在不丢失数据完整性的情况下为两个表设置种子。以下是我所做的: $factory->define(App\User::class, function (Faker\Generator $faker) { return [ 'name' => $faker->name, 'email' => $faker->email, 'username' => $faker->

我有一个表
users
,与一个名为
videos
的表处于一对多关系中。我希望在不丢失数据完整性的情况下为两个表设置种子。以下是我所做的:

$factory->define(App\User::class, function (Faker\Generator $faker) {
return [
    'name' => $faker->name,
    'email' => $faker->email,
    'username' => $faker->unique()->userName
];
});

$factory->define(App\Video::class, function(Faker\Generator $faker){
    $user = factory(App\User::class)->create();
    return [
        'title' => $faker->city,
        'link' => $faker->domainName,
        'user_id' => $user->id,
        'description' => $faker->sentence(40)
    ];
});

所以现在我要做的就是创建一个
videotableseder
,然后运行我想要的数量。我觉得我处理这件事的方式不够好,所以我想知道我能用什么更好的方式来做。特别是,我希望视频不仅仅是用户,而不是数量相同的视频,在我所做的视频中,他们的数量都是相同的。

查看该部分的文档

向模型添加关系

您甚至可以将多个模型持久化到数据库中。在这个例子中, 我们甚至会将关系附加到所创建的模型。当使用 create方法创建多个模型,一个雄辩的集合 实例返回,允许您使用任何方便的 集合提供的功能,例如:

$users=factory(App\User::class,3)
->创建()
->每个功能(u美元){
$u->posts()->save(工厂(App\Post::class)->make());
});