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());
});代码>