37 lines
1003 B
PHP
37 lines
1003 B
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Models\Forum;
|
|
use App\Models\Thread;
|
|
use App\Models\User;
|
|
use Faker\Factory as FakerFactory;
|
|
use Illuminate\Database\Seeder;
|
|
|
|
class ThreadSeeder extends Seeder
|
|
{
|
|
public function run(): void
|
|
{
|
|
$faker = FakerFactory::create();
|
|
$users = User::all();
|
|
$forums = Forum::where('type', 'forum')->get();
|
|
|
|
if ($users->isEmpty() || $forums->isEmpty()) {
|
|
return;
|
|
}
|
|
|
|
foreach ($forums as $forum) {
|
|
$threadCount = $faker->numberBetween(2, 8);
|
|
for ($i = 0; $i < $threadCount; $i += 1) {
|
|
$author = $users->random();
|
|
Thread::create([
|
|
'forum_id' => $forum->id,
|
|
'user_id' => $author->id,
|
|
'title' => ucfirst($faker->words($faker->numberBetween(3, 6), true)),
|
|
'body' => $faker->paragraphs($faker->numberBetween(2, 4), true),
|
|
]);
|
|
}
|
|
}
|
|
}
|
|
}
|