2016-01-28 52 views
0

我有一个表users与表videos表一对多关系。我想在不丢失数据完整性的情况下播种两张表。这就是我下面做的:Faker for Laravel播种机

$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和运行我想要的量。我觉得我处理的方式不够好,所以我想知道我能做到什么更好的方式。特别是,我希望这些视频不仅仅是用户而是相同的金额,在我所做的那些视频中,它们的数量都是相同的。

回答

0

结帐文档的部分Adding Relations to Models

添加关系模型

你甚至可能持续多个模型到数据库中。在这个例子中,我们甚至会附加一个与创建模型的关系。当使用 创建方法来创建多个模型,则返回雄辩收集 例如,允许你使用任何由集合提供了方便 功能,如每个:

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