2022-05-30 22:56:16 -06:00
|
|
|
<?php
|
|
|
|
|
|
2024-03-09 03:19:55 -08:00
|
|
|
class ForumTopicSeeder extends Seeder
|
|
|
|
|
{
|
2022-05-30 22:56:16 -06:00
|
|
|
public array $tables = [
|
|
|
|
|
'nl2_topics',
|
|
|
|
|
];
|
|
|
|
|
|
2024-03-09 03:19:55 -08:00
|
|
|
protected function run(DB $db, \Faker\Generator $faker): void
|
|
|
|
|
{
|
2022-05-30 22:56:16 -06:00
|
|
|
$forums = $db->get('forums', ['id', '<>', 0])->results();
|
|
|
|
|
$users = $db->get('users', ['id', '<>', 0])->results();
|
|
|
|
|
|
|
|
|
|
foreach ($forums as $forum) {
|
2023-03-07 08:26:53 -08:00
|
|
|
$this->times(FORUM_TOPIC_COUNT, function () use ($db, $faker, $forum, $users) {
|
2022-05-30 22:56:16 -06:00
|
|
|
if ($forum->forum_type === 'category' && !$faker->boolean) {
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
$user = $faker->randomElement($users);
|
|
|
|
|
$topic_date = $this->since($user->joined, $faker)->format('U');
|
|
|
|
|
|
|
|
|
|
$db->insert('topics', [
|
|
|
|
|
'forum_id' => $forum->id,
|
|
|
|
|
'topic_title' => $faker->sentence,
|
|
|
|
|
'topic_creator' => $user->id,
|
|
|
|
|
'topic_last_user' => $user->id,
|
|
|
|
|
'topic_date' => $topic_date,
|
|
|
|
|
'topic_reply_date' => $this->since($topic_date, $faker)->format('U'),
|
|
|
|
|
'topic_views' => $faker->numberBetween(0, 1000),
|
|
|
|
|
'locked' => $faker->boolean(40),
|
|
|
|
|
'sticky' => $faker->boolean(20),
|
|
|
|
|
]);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|