0

我有一个表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)
    ];
});

所以现在我要做的就是创建一个VideoTableSeeder并运行我想要的数量。我觉得我处理它的方式不够好,所以我想知道有什么更好的方法可以做到。特别是,我希望视频不仅仅是用户,而不是相同的数量,在我所做的那个中,它们的数量都是相同的。

4

1 回答 1

0

查看文档,将关系添加到模型部分

向模型添加关系

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

$users = factory(App\User::class, 3) ->create() ->each(function($u) { $u->posts()->save(factory(App\Post::class)->make()); });

于 2016-01-28T15:34:03.943 回答