首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel Seeder的Faker

Laravel Seeder的Faker
EN

Stack Overflow用户
提问于 2016-01-28 14:47:49
回答 1查看 1.2K关注 0票数 0

我有一个表users,它与一个名为videos的表有一个多个关系。我希望在不丢失数据完整性的情况下为这两个表添加种子。以下是我所做的:

代码语言:javascript
复制
$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并运行我想要的数量。我觉得我处理它的方式不够好,所以我想知道我能做的更好的方法。特别是,我希望视频比用户更多,而不是同样的数量,在我做过的视频中,它们都是相同的数量。

EN

回答 1

Stack Overflow用户

发布于 2016-01-28 15:34:03

查看在模型中添加关系部分的文档

在模型中添加关系 您甚至可以将多个模型持久化到数据库。在本例中,我们甚至会将一个关系附加到创建的模型。当使用create方法创建多个模型时,将返回一个雄辩的集合实例,允许您使用集合提供的任何方便函数,例如: $users = factory(App\User::class, 3) ->create() ->each(function($u) { $u->posts()->save(factory(App\Post::class)->make()); });

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35064597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档