【发布时间】:2016-04-30 02:09:45
【问题描述】:
我的 Laravel 5.2 应用程序具有以下结构:
用户: ID 姓名 ...
帖子: ID 标题 身体 user_id (fk)
评论: ID 身体 user_id (fk) post_id (fk)
我想创建几个用户 (20),为每个用户创建一个随机数量的帖子,并为每个帖子创建一个随机数量的 cmets(即使是固定数量也可以)。
我可以创建用户并将帖子分配给每个用户,但我不能将 cmets 分配给每个帖子: 我有这个:
factory(App\User::class, 20)->create()->each(function($u) {
$u->posts()->saveMany(factory(App\Post::class, 5)->make();
});
我发现了一些东西,但没有用:
factory(App\Comment::class, 100)->create()->each(function($u) {
$u->user()->sync(
App\User::all()->random(3)
);
});
注意:我在模型之间建立了这样的关系: 用户有很多帖子, 用户有很多评论, 帖子有很多评论, 评论属于帖子, 评论属于用户
【问题讨论】: