forked from summerblue/larabbs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathRepliesTableSeeder.php
37 lines (30 loc) · 1.06 KB
/
RepliesTableSeeder.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
use Illuminate\Database\Seeder;
use App\Models\Reply;
use App\Models\User;
use App\Models\Topic;
class RepliesTableSeeder extends Seeder
{
public function run()
{
// 所有用户 ID 数组,如:[1,2,3,4]
$user_ids = User::all()->pluck('id')->toArray();
// 所有话题 ID 数组,如:[1,2,3,4]
$topic_ids = Topic::all()->pluck('id')->toArray();
// 获取 Faker 实例
$faker = app(Faker\Generator::class);
$replys = factory(Reply::class)
->times(1000)
->make()
->each(function ($reply, $index)
use ($user_ids, $topic_ids, $faker)
{
// 从用户 ID 数组中随机取出一个并赋值
$reply->user_id = $faker->randomElement($user_ids);
// 话题 ID,同上
$reply->topic_id = $faker->randomElement($topic_ids);
});
// 将数据集合转换为数组,并插入到数据库中
Reply::insert($replys->toArray());
}
}