【发布时间】:2021-06-11 10:39:21
【问题描述】:
Event::factory(5)
->hasAttached(
Team::factory()->count($this->faker()->numberBetween(0, 60)),
[
'team_name' => $this->faker()->unique()->name,
'score' => $this->faker()->numberBetween(0, 50)
],
'participants'
)
->create([
'user_id' => $user,
'quiz_id' => $quiz
]);
上面的sn-p代码使用$quiz为$user创建了5个事件。它将有一个随机数量的participants,这是一个数据透视表(Team 和Event)。在该数据透视表上有一个 team_name 和 score 列。因为团队可以更改他们的团队名称,所以我们想知道参与时的团队名称以及他们在比赛中获得的分数。
使用当前代码,因为 $this->faker()->numberBetween(0, 60)、$this->faker()->unique()->name 和 $this->faker()->numberBetween(0, 50) 不在迭代内进行评估,所以所有数据透视表数据都是相同的。
如何使这些数据在每个数据透视行中有所不同?
TIA
【问题讨论】:
标签: laravel